TCL

一、TCL事务控制语言

事务:
一个或者一组sql语句组成一个执行单元,这个单元要么全部执行,要么全部不执行
show engine; //查看支持的引擎。
innodb引擎支持事务。
事务的特性:ACID
1、原子性(Atomicity):
原子性是指事务是一个不可分割的工作单位,事务中操作要么全执行,要么都不发生。
2、一致性(Consistency):
事务使数据库从一个一致性状态变为另一个一致性状态。
3、隔离性(Isolation):
一个事务的执行不能被其他事物干扰,并发执行的各个事务之间不能相互干扰。
4、持久性(Durability):
一个事务一旦被提交,它对数据库中数据的改变就是永久性的。

二、事务的创建

隐式事务:事务没有明显的开始和结束的标记
比如:insert,update,delete

显式事务:事务有明显的开始和结束的标记
前提:必须先设置自动提交功能为禁用

set autocommit = 0;
show variables like ‘autocommit’;
步骤1:开启事务
set autocommit = 0;
start transaction;
步骤2:编写事务中sql语句(select,insert,update,delete)
语句1,
语句2,
。。。
步骤3:结束事务
commit; //提交事务
rollback; //回滚事务

演示事务使用步骤
开启事务:
set autocommit = 0;
start transaction;
编写事务语句:
update account set balance = 1000 where username=‘syz’;
结束事务:
commit;
或者
rooback;//回滚事务

delete和truncate在事务中区别

delete
set autocommit = 0;
start transaction;
delete from account;
rollback;

truncate
set autocommit = 0;
start transaction;
truncate table account;
rollback;

事务的隔离级别

1.事务没有隔离的时候出现的问题:
脏读
针对更新
幻读
针对插入,删除
不可重复读

2.隔离级别:
读未提交
出现脏读,幻读,不可重复读
读已提交
出现幻读,不可重复读
可重复读
出现幻读
序列化
都可避免

mysql默认级别: 可重复读
oracle默认级别: 读已提交
查看隔离级别: select @@tx_isolation;
设置隔离级别,只针对当前连接有效:
set session transaction iaolation level serializable;

Mysql中TCL语言相关推荐

  1. mysql中dml语言_八、mysql DML语言

    数据操作语言: 插入:insert 修改:update 删除:delete 1.插入语句(方式一) 语法: Insert into 表名(列名,...)  Values(值1,...); 1) 插入的 ...

  2. MySQL中DML语言的插入语句、修改语句、删除语句(增删改)——笨蛋笔记4

    目录 DML语言 一.插入语句 二.修改语句 三. 删除语句 DML语言 数据操作语言: 插入:insert 修改:update 删除:delete.truncate(清空) 一.插入语句 语法:in ...

  3. 尚硅谷李玉婷老师MySQL课程--TCL语言

    TCL(Transaction Control Language):事务控制语言 一.事务 一个或一组sql语句组成一个执行单元,这个执行单元全部执行,要么全部不执行. 事务的ACID属性 原子性:要 ...

  4. MySQL中DDL语言

    SQL语言的四种分类 我们知道可以将SQL语言分为四种类型:DDL.DML.DQL.DCL 他们之间有什么区别呢?可以通过下面这张图来区分: DDL语言的操作 DDL数据库操作 查询所有的数据库 sh ...

  5. mysql行级视图与列级视图_[数据库]--DML、DDL、TCL语言

    DML语言(数据操作语言) 1.插入语句insert 语法1: insert into 表名(列名...) values(值...) 注意: 1.插入的值的字段必须和值匹配 2.插入的值的类型必须和字 ...

  6. MySQL学习(三) 数据类型约束、TCL语言、流程控制

    数据类型和约束(ddl) 数据类型 一.数值型 1.整型 tinyint.smallint.mediumint.int/integer.bigint 1 2 3 4 8 特点: ①都可以设置无符号和有 ...

  7. mysql中数据定义和数据控制语言_MySQL 数据定义语言(DDL)

    SQL 包含以下 4部分:1数据定义语言(DDL):DROP.CREATE.ALTER 等语句.2数据操作语言(DML):INSERT(插入).UPDATE(修改).DELETE(删除)语句.3数据查 ...

  8. mysql中数据定义语言_SQL数据定义语言(DDL)

    数据库模式定义语言DDL(DataDefinition Language),是用于描述数据库中要存储的现实世界实体的语言.一个数据库模式包含该数据库中所有实体的描述定义.这些定义包括结构定义.操作方法 ...

  9. mysql中dml操作_MySQL的DML语言操作实例

    补充说明,外键:不要使用外键,一切外键概念都在应用层解决. 补充说明,数据库的列,也就是字段名,尽量带上飘符号` 数据库存在的意义:数据存储和数据管理. 数据库:行(数据),列(字段) 注意:本页是解 ...

最新文章

  1. 【程序员趣味】用Python制作带字小人举牌
  2. 简单实现一边固定,另一边自适用
  3. python function函数_Python34-06-函数(function)
  4. ffmpeg的map参数
  5. Delphi读写二进制文件
  6. qt c语言socket,c – Qt双向客户端服务器使用QTcpSocket和QTcpServer
  7. Linux关闭Tomcat服务器出现无法关闭 :8005端口未启动
  8. 步骤一:入门Linux基础\01.Linux 简介和安装\第2章 Ubuntu系统的安装
  9. 表格不换行_Excel表格如何强制换行?8个Excel实用小技巧,帮助你解放双手
  10. HTML5 Web SQL 数据库
  11. visio绘图:通过excel在visio中插入表格
  12. 女研究生做“思维导图”与男友吵架!网友:吵架届的“内卷之王”....
  13. C++setw函数的运用
  14. 数据中心机房温湿度监测
  15. HFDS的Shell操作
  16. 常见的积分商城游戏类型有哪些?
  17. ‘Authentication failed.‘ on server xx.xx.xxx.x:27017. The full response is { “ok“ : 0.0, “errmsg“
  18. JFS 文件系统概述及布局分析
  19. 大学生网页作业之-个人主页、校园网站
  20. python批处理原始核磁数据用于DPABI

热门文章

  1. ArcGIS中将线转换为面
  2. 海思平台INA220电压电流模块调试
  3. 手机软件计数器app自动识别图片中细菌菌落数量
  4. Delphi如何使用最新版本的OpenSSL
  5. 调用Nodejs版网易云API时,遇到code:-462报错解决方案
  6. IDA 和 IDA-Python 学习笔记
  7. 【Java】对象的实例化
  8. 连续信号希尔伯特变换
  9. 怎么用计算机算几何倍增,城市规划中对计算机仿真技术应用.doc
  10. linux编译CH340驱动报错,CH340 Linux驱动使用教程