mysql存储引擎处理_[MySql学习笔记] 四 存储引擎事务处理

MySql有一个重要的特征,被称为Pluggable Storage Engine Architecture(可替换存储引擎构架)。有两个重要的存储引擎:MyISAM 和 InnoDB 。其中MyISAM不支持事务处理,但是速度较快,InnoDB支持行锁定及事务处理,比MyISAM速度稍慢。有一个最新的存储引擎Falcon也支持事务处理,以后可以研究一下。Mysql5.5使用的默认存储引擎是InnoDB。

使用命令 SHOW CREATE TABLE 表名  命令可以显示使用的是哪种存储引擎。更改表的引擎可以使用ALTER TABLE 表名 ENGINE=新引擎

在sql命令后面用\G来代替分号,可以使得显示的内容更加有条理。

跟事务相关的命令有 BEGIN(或者 START TRANSACTION), COMMIT, ROLLBACK。

1 mysql> SELECT * FROMCUSTOMER2 ->;3 +-------+----------+------------+------+

4 | mid | nam | birth | sex |

5 +-------+----------+------------+------+

6 | H0001 | 鏉庡姞 | NULL | 0 |

7 | H0002 | 张喜双 | 1988-05-31 | 0 |

8 | M0001 | 鏉庡欢 | 1976-02-05 | 1 |

9 | M0004 | 瀹嬪+ | 1956-08-15 | 1 |

10 | M0005 | 鏈辨灄 | 1982-06-08 | 0 |

11 | N0001 | 灏忓皬 | 1980-11-23 | 1 |

12 | T0001 | 鐜嬩簩 | 1980-10-21 | 1 |

13 +-------+----------+------------+------+

14 7 rows in set (0.00sec)15

16 mysql> BEGIN;17 Query OK, 0 rows affected (0.00sec)18

19 mysql> DELETE FROMCUSTOMER;20 Query OK, 7 rows affected (0.00sec)21

22 mysql> SELECT * FROMCUSTOMER;23 Empty set (0.00sec)24

25 mysql> ROLLBACK;26 Query OK, 0 rows affected (0.00sec)27

28 mysql> SELECT * FROMCUSTOMER;29 +-------+----------+------------+------+

30 | mid | nam | birth | sex |

31 +-------+----------+------------+------+

32 | H0001 | 鏉庡姞 | NULL | 0 |

33 | H0002 | 张喜双 | 1988-05-31 | 0 |

34 | M0001 | 鏉庡欢 | 1976-02-05 | 1 |

35 | M0004 | 瀹嬪+ | 1956-08-15 | 1 |

36 | M0005 | 鏈辨灄 | 1982-06-08 | 0 |

37 | N0001 | 灏忓皬 | 1980-11-23 | 1 |

38 | T0001 | 鐜嬩簩 | 1980-10-21 | 1 |

39 +-------+----------+------------+------+

40 7 rows in set (0.00 sec)

一般来说,如果不用事务处理,则会自动被COMMIT,比如使用MyISAM时就会自动提交,在使用InnoDB时可以设置参数AUTOCOMMIT来确定是否自动提交。

将自动提交功能置为OFF  则 SET AUTOCOMMIT=0    将自动提交设置为ON   则用命令  SET AUTOCOMMIT=1;  查看当前状态  SELECT @@AUTOCOMMIT;

部分回滚,可以定义保存点(SAVEPOINT)然后回滚到指定的保存点签的状态   SAVEPOINT 保存点名;   ROLLBACK TO SAVEPOINT 保存点名;

以下几条SQL命令,执行后将被自动提交,是在事务处理可以利用的范围之外的。

DROP DATABASE

DROP TABLE

DROP

ALTER TABLE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值