MySQL数据库--TCL语言

TCL语言的学习

​ tiansaction contro languge 事务控制语言

事务

​ 一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行

​ 事务由单独单元的一个或多个SQL语句组成,在这个单元中,每个msql语句是相互依赖的。

存储引擎

​ 概念:在mysql中的数据用各种不同的技术存储(表类型)在文件(内存)中,

​ show engines:来查看存储引擎

​ 类型:

​ Myisam:不支持

​ Innodb:支持事务

​ memory :不支持

事务的属性

​ ACID

​ A原子性:事务不可分割

​ C一致性:事务必须从一个一致性状态切换到另一个一致性状态

​ I隔离性:一个事务的执行不受其他事务的干扰

​ D持久性:事务一旦提交,对数据库的改变就是永久性的

事务的创建
隐式事务:

​ 事务没有明显的开启和结束的标记:

​ 比如 insert update delete语句

显式事务:

​ 事务有明显的开启和结束的标记:

​ 前提,显设置自动提交功能为禁用

​ show variables like “autocommit”;

​ set autocommit=0;

​ 关闭只针对于当前的回话有效,每次开机都要设置一下

​ 步骤:

​ 一:开启事务

​ set autocommit=0; 默认开启事务

​ start transaction;可选的

​ 二:编写sql语句(增删改查,DDL语言无法开启事务)

​ 语句1,

​ 语句2,

​ …

​ 三:结束事务

​ commit:提交事务

​ rollback:回滚事务

​ 在mysql不可以智能选择 有异常回滚,无异常提交。

​ 在没有结束事务之前,知识存储在内存中。

事务的隔离级别
并发问题:

脏读:对于两个事务t1,t2. t1读取了已经被t2更新但还没有被提交的字段之后,若t2回滚,t1读取的内容 就是临时无效的。

不可重复读:对于两个事务t1,t2 t1读取了一个字段,然后t2更新了该字段之后,t1再次读取同一个字段,值不一样了。

幻读:对于两个事务t1,t2. t1从一个

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值