mysql语句中事务可靠性_MySql的事务使用与示例详解
在MySQL中,事务就是一个逻辑工作单元的一系列步骤。事务是用来保证数据操作的安全性。
事务的特征:
1.Atomicity(原子性)
2.Consistency(稳定性,一致性)
3.Isolation(隔离性)
4.Durability(可靠性)
注:事务只针对对数据数据产生影响的语句有效。
show engines //查看mysql锁支持的数据引擎
MyISAM不支持事物,InnoDB支持事物
默认情况下,MySQL将以自动提交模式运行,这意味着没一条小命令都将当做一个只有一条命令的事物来执行。
如果要让mysql支持支持事务,只需要修改数据引擎(alter table person type=INNODB)
使用start transaction或者begin命令来开启一个事物,使用commit,或者rollback来结束事物。
事物的结束:事物除了commit,rollback会结束外,使用DDL或者DCL语句也会结束。
保存点:通过保存点机制:用户可以在事物里用savepoint name命令设置一些保存点,以后用户在使用rollback to savepoint name结束事物时,name之前的数据保存,之后的数据不保存。
mysql使用事务的关键字
begin //打开一个事务
commit //提交到数据库
rollback //取消操作
savepoint //保存,部分取消,部分提交
alter table person type=INNODB //修改数据引擎
示例如下:
begin
update person set name='efgh' where id =10
select * from person
rollback
select * from person
示例如下:
alter table person type=INNODB
begin
update person set name='efgh' where id =10
select * from person
commit
select * from person
begin
delete from person where id=21
update person set name='efgh' where id =10
commit/rollback
针对上面部分提交,必须用到保存点
保存点注意:
1.只能取消到某个保存点 rollback to savepoint p1
2.不能提交某个保存 commit to savepoint p2//错误写法
3.最后commit 把未取消的保存点去不提交到数据
事务保存点使用例子:
begin;
update score set score=40 where scoreid=1;
savepoint s1;
update score set score=50 where scoreid=2;
select * from score;
rollback to savepoint s1;
select * from score;
commit;
您可能感兴趣的文章:深入解析MySQL的事务隔离及其对性能产生的影响MySQL中Innodb的事务隔离级别和锁的关系的讲解教程MySQL数据库事务隔离级别介绍(Transaction Isolation Level)MySQL存储过程例子(包含事务,输出参数,嵌套调用)Mysql中的事务是什么如何使用php+mysql事务rollback&commit示例PHP操作MySQL事务实例mysql 锁表锁行语句分享(MySQL事务处理)mysql实现事务的提交和回滚实例mysql存储过程事务管理简析MySQL 四种事务隔离级别详解及对比
mysql语句中事务可靠性_MySql的事务使用与示例详解相关推荐
- mysql默认使用悲观锁_mysql乐观锁和悲观锁详解
mysql乐观锁和悲观锁详解 相信很多朋友在面试的时候,都会被问到乐观锁和悲观锁的问题,如果不清楚其概念和用法的情况下,相信很多朋友都会感觉很懵逼,那么面试的结果也就不言而喻了. 那么乐观锁和悲观锁到 ...
- mysql修改表结构例子_mysql修改表结构方法实例详解
本文实例讲述了mysql修改表结构方法.分享给大家供大家参考.具体如下: mysql修改表结构使用ALTER TABLE语句,下面就为您详细介绍mysql修改表结构的语句写法,希望对您学习mysql修 ...
- mysql表分区数量限制_MySQL分区表的局限和限制详解
禁止构建 分区表达式不支持以下几种构建: 存储过程,存储函数,UDFS或者插件 声明变量或者用户变量 可以参考分区不支持的SQL函数 算术和逻辑运算符 分区表达式支持+,-,*算术运算,但是不支持DI ...
- mysql命令导入导出数据库_MYSQL命令行导入导出数据库详解
Mysql命令行导入数据库: 1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2,同上面导出的第1步 3,进入MySQL:mysql -u 用户名 -p 如我输入的命令行:mysql ...
- mysql的double类型数据_mysql数据类型double和decimal区别详解
实数是带有小数部分的数字.然而,它们不只是为了存储小数部分,也可以使用 DEClMAL 存储比 BIGINT还大的整数. MySQL 既支持精确类型,也支持不精确类型. FLOAT 和 DOUBLE ...
- mysql基于时间盲注_MYSQL基于时间的盲注详解
MYSQL基于时间的盲注 联合查询,报错注入,以及布尔盲注,都是基于攻击网站会回显消息,或者将错误信息返回在前端,或者会返回web页面的正确或错误 但是有时候网站关闭了错误回显或过滤了某些关键字,网页 ...
- mysql延迟关联为什么快_MySQL 覆盖索引与延迟关联详解
本期来谈谈覆盖索引与延迟关联.在此之前,我们先简单建立一个订单表 Orders 用于举例说明.表中共包含 3 个字段: id int product_id name CREATE TABLE `ord ...
- mysql 索引表的应用_MySQL查询优化之索引的应用详解
糟糕的SQL查询语句可对整个应用程序的运行产生严重的影响,其不仅消耗掉更多的数据库时间,且它将对其他应用组件产生影响. 如同其它学科,优化查询性能很大程度上决定于开发者的直觉.幸运的是,像MySQL这 ...
- mysql表空间权限_MySQL InnoDB表空间加密示例详解
前言 从 MySQL5.7.11开始,MySQL对InnoDB支持存储在单独表空间中的表的数据加密 .此功能为物理表空间数据文件提供静态加密.该加密是在引擎内部数据页级别的加密手段,在数据页写入文件系 ...
最新文章
- pytorch基础知识整理(五) 优化器
- spring和activemq的结合(五)
- cascader 动态加载 回显_Elementui cascader 级联选择器 动态加载数据,保存后回显的问题...
- EF中Take和Skip的区别
- php 一些个 常用 函数
- Laravel核心解读--Database(二) 查询构建器
- 定时任务_定时任务Quartz入门
- ORACLE常用函数汇总【转】
- linux设备驱动之PCIE驱动开发
- linux cat 文件合并,linux cat两个文件是肿么合并的
- 国家各个政府机构网站
- 房地产公司网站建设需要多少钱
- bookxnote手机版_bookxnote中文版下载
- 测试开发工程师的发展
- python绘制随机网络图形
- 会议室预约系统 会议预约 会议预约触摸屏 会议预约管理系统
- ora-600内部错误的类型
- Asp.Net C# - AES加密、解密
- linux培训好还是自学好,Linux培训好还是自学好,该怎么判断自己适合哪种方式?...
- python 断点_断点python_python 断点_python断点定义 - 云+社区 - 腾讯云