事物处理可以用来维护数据库的完整性,它保证成批的MySQL操作要么完全执行,要么全不执行。

  1. 事务:指一组sql语句
  2. 回退:指撤销指定的sql语句过程
  3. 提交:将未存储的sql语句结果写入数据库表
  4. 保留点:指事务处理过程中设置的临时占位符,可以对他发布回退,与回退到整个事务不同

开始事务

mysql> start transaction

回退事务

mysql> rollback
  1. 只能在一个事务内使用,即start transaction后
  2. 事务处理用来管理insert,update,delete语句,不能回退select语句,不能回退create和drop,事务处理块中可以使用着两条语句,如果回退执行,他们不会被撤消
mysql> select * from stu_info;
+--------+---------+-----+-------+-------+
| num | name | age | grade | socre |
+--------+---------+-----+-------+-------+
| 000001 | gushi | 23 | 1006 | 90 |
| 000002 | hualian | 21 | 1005 | 100 |
| 000004 | gushi | 16 | 1006 | 95 |
| 000009 | abc | 8 | 2004 | 0 |
+--------+---------+-----+-------+-------+
4 rows in set (0.00 sec) mysql> start transaction;
Query OK, 0 rows affected (0.00 sec) mysql> delete from stu_info;
Query OK, 4 rows affected (0.00 sec) mysql> select * from stu_info;
Empty set (0.00 sec) mysql> rollback;
Query OK, 0 rows affected (0.44 sec) mysql> select * from stu_info;
+--------+---------+-----+-------+-------+
| num | name | age | grade | socre |
+--------+---------+-----+-------+-------+
| 000001 | gushi | 23 | 1006 | 90 |
| 000002 | hualian | 21 | 1005 | 100 |
| 000004 | gushi | 16 | 1006 | 95 |
| 000009 | abc | 8 | 2004 | 0 |
+--------+---------+-----+-------+-------+
4 rows in set (0.00 sec)

使用COMMIT

  MySQL语句一般都是针对数据库表执行和编写的,这是所谓的隐含提交,即提交操作是自动进行的。但是在事务处理块中提交不会自动进行,为进行明确的提交,用commit

mysql> start transaction;
Query OK, 0 rows affected (0.00 sec) mysql> delete from stu_info where age=18;
Query OK, 5 rows affected (0.34 sec) mysql> delete from stu_info where age=20;
Query OK, 0 rows affected (0.00 sec) mysql> commit;
Query OK, 0 rows affected (0.44 sec)

  最后commit语句仅在不出错时写出更改,如果第一条delete起作用,第二条delete失败,则delete不会提交,实际上他是自动被撤销的

  当COMMIT或rollback语句执行后,事务会自动关闭

保留点

  COMMIT或rollback撤销的是整个事务,有时需要部分提交或回退,在事务块中放适当的占位符,如果需要回退,就会退到某个占位符。

mysql> savepoint s1;

  每个保留点名字唯一

mysql> rollback to s1;
  1. 保留点越多越好
  2. 保留点在事务处理完成(执行一条rollback或COMMIT)后自动释放,也可以用release savepoint 明确释放保留点

更改默认的提交行为

mysql> set autocommit=0;

  执行sql语句时,该语句都是针对表执行的,而且都是立即生效,autocommit决定是否自动提交,autocommit(0)假不自动提交,直到autocommit为真才自动提交,autocommit针对每个链接而不是服务器

  

MySQL管理实务处理的更多相关文章

  1. 使用mysql管理meta

    第一部分 安装mysql 第二部分 使用mysql管理meta 安装mysql 安装 yum -y install mysql mysql-server yum方法安装需要使用网络:可以自动续传:对于 ...

  2. 15款最佳的MySQL管理工具和应用程序

    工欲善其事,必先利其器.几乎每个开发人员都有最钟爱的 MySQL 管理工具,它帮助开发人员在许多方面支持包括 PostgreSQL,MySQL,SQLite,Redis,MongoDB 等在内的多种数 ...

  3. MYSQL管理之主从同步管理

    原文地址:MYSQL管理之主从同步管理 作者:飞鸿无痕 MYSQL管理之主从同步管理 MYSQL主从同步架构是目前使用最多的数据库架构之一,尤其是负载比较大的网站,因此对于主从同步的管理也就显得非常重 ...

  4. MySQL管理之道:性能调优、高可用与监控内置脚本

    MySQL管理之道:性能调优.高可用与监控内置脚本 随书附送脚本 keepalive配置文件和脚本开源工具pssh批量管理服务器(python) 下载地址 http://files.cnblogs.c ...

  5. mysql 管理工具

    摘自: http://www.chinaz.com/free/2009/0306/68691.shtml MySQL是一个非常流行的小型关系型数据库管理系统,2008年1月16号被Sun公司收购.目前 ...

  6. Sequel Pro 免费的MySQL管理客戶端(有SSH部分)

    官方站點:http://www.sequelpro.com Sequel Pro 的原名是 CocoaMySQL,是一个与 phpMyAdmin 類似的 MySQL 管理工具.它是由 Cocoa 和面 ...

  7. MySQL 管理

    MySQL 管理 启动及关闭 MySQL 服务器 首先,我们需要通过以下命令来检查MySQL服务器是否启动: ps -ef | grep mysqld 如果MySql已经启动,以上命令将输出mysql ...

  8. 涂抹mysql笔记-mysql管理工具

    五花八门的mysql管理工具<>mysql提供的命令行工具 mysql_install_db:mysql建库工具,在源码安装mysql环节我们使用过. mysql_safe:mysql启动 ...

  9. MySQL 管理之道读书总结

    最近读了<MySQL 管理之道>一书,做了以下总结,希望对大家有所帮助.在这里非常感谢作者的辛勤付出. 影响 MySQL 性能的因素:     影响 MySQL InnoDB 引擎性能的最 ...

随机推荐

  1. html 经验之谈

  2. 使用DevExpress Reports和PDF Viewer创建AcroForm Designer

    众所周知,交互式表单(AcroForms)是PDF标准的重要组成部分,AcroForms允许开发者和开发者的用户创建可填写的PDF文档.尽管WinForms和WPF PDF Viewers不支持交互式 ...

  3. Problem A 还会用继承吗?

    定义一个Base类,包括1个int类型的属性,以及满足输出格式要求的构造函数.拷贝构造函数和析构函数. 定义Base类的子类Derived,包括1个int类型的属性, 以及满足输出格式要求的构造函数. ...

  4. CodeForces - 429A Xor-tree

    Iahub is very proud of his recent discovery, propagating trees. Right now, he invented a new tree, c ...

  5. 8.Python爬虫实战一之爬取糗事百科段子

    大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧.那么这次为大家带来,Python爬取糗事百科的小段子的例子. 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把 ...

  6. <Codis><JedisPool><DeadLock>

    Overview Background: I start a thread [call thread A below]in Spark driver to handle opening files i ...

  7. linux的python版本升级

    可利用Linux自带下载工具wget下载,如下所示:     # wget http://www.python.org/ftp/python/2.7.3/Python-2.7.13.tgz 下载完成后 ...

  8. Python 字符串操作方法大全

    Python 字符串操作方法大全 1.去空格及特殊符号复制代码代码如下:s.strip().lstrip().rstrip(',') 2.复制字符串复制代码代码如下:#strcpy(sStr1,sSt ...

  9. 在Linux系统下mail命令的用法

    在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并 ...

  10. Python基础5--字符串

    1 find().rfind().index().rindex().count() s = "this apple is red apple" s.find("apple ...