mysql中,事务是一些数据库操作语句,有3个特点:

1.只有使用了InnoD引擎的数据库或者表支持事务

2.事务可以用来维护数据库完整性,保证成批的sql语句要么全执行,要么全不执行,不会出现部分执行失败导致不一致的情况

3.事务用来管理insert,update,delete语句

事务要满足4个条件,即分布式系统设计中的ACID原理:

1.atomiclly,原子性,一个事务中的所有操作,要么全完成,要么全不完成,不会结束在中间环节,事务执行中发生错误会回滚到之前的状态

2.consistency:一致性,事务开始之前和开始之后,数据库的完整性没有被破坏,写入的资料必须完全符合所有的预设规则,包含资料的精确度、串联型、后续数据库可以自发完成预设工作

3.isolation:隔离性:允许多个并发事务同时对数据读写和修改,防止多个事务交叉执行导致数据的不一致,事务隔离分成不同级别:读未提交、读提交、可重复读、串行化

4.durability:持久性:事务结束之后,对数据的修改是永久的,即使系统故障也不会丢失

命令行和事务:在命令行中,事务默认是自动提交的,要显式开启事务需要使用命令begin

事务开启语句:

1.begin或者start transaction:显式开启一个事务

2.commit:提交一个事务,使修改是永久的

3.rollback:回滚事务,撤销未提交的修改

4.savepoint identifier:创建一个保存点,一个事务中可以有多个保存点

5.release savepoint identifier:删除一个事务的保存点,若没有这个保存点,抛出异常

6.rollback to identifier:事务回滚到保存点

7.set transaction:设置事务的隔离级别,InnoDB提供的级别有read uncommitted,read committed,repeatable read,serializable

操作的例子:

使用begin和commit操作事务:

mysql> create table tmp( id int(5)) engine=innodb;

Query OK, 0 rows affected (0.01 sec)

mysql> begin;

Query OK, 0 rows affected (0.00 sec)

mysql> insert into tmp value(5);

Query OK, 1 row affected (0.00 sec)

mysql> commit;

Query OK, 0 rows affected (0.00 sec)

mysql> select * from tmp;

+------+

| id |

+------+

| 5 |

+------+

1 row in set (0.00 sec)

使用rollback回滚未提交的修改

mysql> begin;

Query OK, 0 rows affected (0.00 sec)

mysql> insert into tmp value(6);

Query OK, 1 row affected (0.00 sec)

mysql> rollback;

Query OK, 0 rows affected (0.01 sec)

mysql> select * from tmp;

+------+

| id |

+------+

| 5 |

+------+

1 row in set (0.00 sec)

注意,若begin之后没有commit,而是使用其他语句,比如select,那么会自动commit,修改直接生效

mysql事物开始命令_MySQL命令行事务相关推荐

  1. mysql 事物隔离界别_MySQL锁与事务隔离级别

    ------------恢复内容开始------------ 一.概述 1.锁的定义 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在数据库中,除了传统的计算资源(如CPU.RAM.IO等)的 ...

  2. mysql数据库管理系统模式_MYSQL命令行模式管理MySql的一点心得

    MYSQL命令行模式管理MySql的一点心得 MYSQL命令行模式管理MySql的一点心得 MySql数据库是中小型网站后台数据库的首选,因为它对非商业应用是免费的.网站开发者可以搭建一个" ...

  3. mysql的命令行常用命令_mysql命令行常用命令

    第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uro ...

  4. 打开mysql命令_Mysql命令大全(详细篇)

    一.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...

  5. mysql带c的命令_mysql命令整理

    一.总结一下: 1.linux下启动mysql的命令: mysqladmin start /etc/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql ...

  6. mysql设置字符集命令_mysql命令设置字符集

    2页 1财富值 修改数据库字符集 2页 2财富值 mysql字符集 3页 2财富值 MySQL字符集 3页 免费 MySQL字符集问题 7页 2财富值喜欢此文档的还喜欢 ...... 默认字符集的方法 ...

  7. mysql 用户命令_MySQL命令行新建用户

    https://www.cnblogs.com/penciler/p/4813157.html MySQL命令行能否实现新建用户呢?答案无疑是肯定的.而且在使用使用MySQL命令行新建用户后,还可以为 ...

  8. mysql修改客户端编码命令_mysql命令行修改字符编码

    1.修改数据库字符编码 mysql> alter database mydb character set utf8 ; 2.创建数据库时,指定数据库的字符编码 mysql> create ...

  9. cmd命令行mysql乱码解决方法_mysql命令行显示乱码的解决方法

    mysql命令行显示乱码的解决方法:1.打开my.ini配置文件:2.修改配置[default-character-set=utf8]:3.改变数据库的编码方式,如[set character_set ...

最新文章

  1. libuvc介绍及简单使用
  2. Asp.net中Postback及Callback
  3. 温州大学《机器学习》课程课件和视频(四)朴素贝叶斯
  4. Ayoub and Lost Array
  5. iview使用原生html,iview在vue-cli3如何按需加载的方法
  6. 8086汇编工作环境_ARM汇编进阶
  7. 【入门指南】使用阿里云Elasticsearch搭建ELK日志系统
  8. 粒子群优化算法及其应用
  9. 人文视野中的生态学题库
  10. 电脑常用快捷键及组合键
  11. pytorch一小时速成
  12. cad图转成shp文件并把其平面坐标投影配准成大地坐标(配准针对没有底图的情况)
  13. 解决邮件附件乱码问题
  14. Python中squeeze函数用法
  15. sa结构组网方式_5G网络包含NSA和SA两种组网方式
  16. linux群晖系统密码忘记,【系统篇】猫盘群晖重置密码、重装、重置、升级与降级等...
  17. 关于通过Date.getTime()得到1970年01月1日0点零分问题验证
  18. HDU3085 Nightmare Ⅱ
  19. 一位“双11”守夜人的独白
  20. C语言的文件读写操作

热门文章

  1. 到底什么是Upnp?[转载]
  2. 如何通过音乐数字化实现创新的音乐数字发行
  3. php时间戳选取设置(选取地理位置不同时间不同)
  4. MYSQL事务和INNODB下的锁机制
  5. 【LaTex】写论文时关于嵌入字体embedded fonts的问题
  6. 五行顺口溜_五行纳音口诀,五行相生相克歌诀
  7. 关于基础百度地图和地图导航的bug问题
  8. python采集直播间数据_Python 爬虫进阶必备 | 某直播数据分析平台加密参数 sign 分析...
  9. 使用Vue组件为页面添加评论
  10. 给个华为服务器账号和密码忘了怎么办啊,如果忘记了华为手机的账号密码怎么办,该如何找回密码呢...