MySQL事务的理解

事务的条件(4个)

原子性,隔离性,一致性,持久性。

原子性:一个事务中的所有操作要么全都完成,要么全都不完成,如果中途出现错误,则会回到最初的状态。

隔离性:在多个事务并发执行的时候,避免错综复杂,交叉导致的数据不一致。

一致性:事务从开始到结束,过程中保证了数据库的完整性,一切都在有秩序的进行着。

持久性:事务处理结束后,对事务的修改就是永久的,即使系统故障也不会丢失。

MySQL事务

1.只有在存储引擎为InnoDB的时候才会支持事务。
2.事务可以用来维护数据库的完整性,保证SQL语句要么执行要么都不执行。
3.事务用来管理insert update delete 语句。

MYSQL 事务处理主要有两种方法:

*begin 开始一个事务
*rollback 事务回滚
*commit 事务确认

MySQL事务测试

(创建一个名为shiwu的表)
mysql> create table shiwu(
    -> id int(1) not null 
    -> );
Query OK, 0 rows affected (0.01 sec)

(检查这个表)
mysql> select id from shiwu;
Empty set (0.00 sec)  【现在还没有插入数据!】

(开始事务)
mysql> begin;
Query OK, 0 rows affected (0.00 sec)

(插入一个数据)
mysql> insert into shiwu (id) values (1);
Query OK, 1 row affected (0.01 sec)
(在插入一个数据)
mysql> insert into shiwu (id) values (9);
Query OK, 1 row affected (0.00 sec)

(此时表的状态)
mysql> select id from shiwu;
+----+
| id |
+----+
|  1 |
|  9 |
+----+

(提交事务)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)

(从新开始事务,并在插入一个id号为5的数)
mysql> begin;
Query OK, 0 rows affected (0.00 sec)

mysql> insert into shiwu (id) values (5);
Query OK, 1 row affected (0.00 sec)

(此时的shiwu表)
mysql> select id from shiwu;
+----+
| id |
+----+
|  1 |
|  9 |
|  5 |
+----+

!(现在我回滚)!
mysql> rollback;
Query OK, 0 rows affected (0.01 sec)

(咱们再看shiwu表的结构)
mysql> select id from shiwu;
+----+
| id |
+----+
|  1 |
|  9 |
+----+  【又变成了原来的表的形式】
		【因为回滚所以数据没有插入】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值