事物处理可以用来维护数据库的完整性,它保证成批的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. Dll重定向(尚存否?)

    windows核心编程(第五版)的20.6节介绍了Dll重定向. 0x01  Dll重定向简介 产生Dll重定向原因: 应用程序 a.exe 依赖动态链接库 compoent.dll 1.0 版本.但 ...

  2. JavaScript示例

    <!DOCTYPE html> <html> <head> <title>单击按钮事件示例</title> <script langu ...

  3. win 10 初始环境变量

    有时用户会修改Win10系统的环境变量,改到后面原来是什么的也记不得了,想要改回去还要去别的电脑查看,这里转载下Win10 64位环境变量的默认初始值. 附:打开环境变量方法:电脑左下右键——系统—— ...

  4. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 解决方法

    1.导入mysql-connector-java-5.1.26-bin.jar包,我试着把maven中自动下载下来的mysql-connector-java-5.1.26.jar包导入,还是没能解决问 ...

  5. 18-09-27 pandas 学习02

    如何系统的学习python 中有关数据分析和挖掘相关的库?什么是系统的学习?系统的学习就是一个先搭建只是框架体系,然后不断填充知识看,不断更新迭代的过程. Pandas,numpy,scipy,mat ...

  6. 你知道怎么用Idea抽取方法、创建class吗?

    liJ IDEA的快捷键是进行重构的利器,坊间盛传,完全使用IDEA快捷键重构的代码,是不需要写测试用例保护的 本文就分享一个使用IDEA抽取方法及创建新的class的方法 工具/原料   Intel ...

  7. lvm创建和快照

    查看磁盘 创建分区 新建1G的1分区 新建1G的2分区 新建1G的3分区 查看新建的分区 因标准分区是83交换分区是82做lv是8e所以要改变类型 查看: 保存退出: 创建物理卷pv 将物理卷pv创建 ...

  8. 【leetcode】35-Search Insert Position

    problem Search Insert Position 一种容易想到的是暴力破解法,一种是常用的二分法. 暴力破解法1(不推荐) class Solution { public: int sea ...

  9. C#动态创建Xml-LinQ方式

    C#创建Xml-LinQ方式 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享 ...

  10. HDU - 3982:Harry Potter and J.K.Rowling(半平面交+圆与多边形求交)(WA ing)

    pro:给定一枚蛋糕,蛋糕上某个位置有个草莓,寿星在上面切了N刀,最后寿星会吃含有草莓的那一块蛋糕,问他的蛋糕占总蛋糕的面积比. sol:显然需要半平面交求含有蛋糕的那一块,然后有圆弧,不太方便求交. ...