mysql事务,mysql和redis与pycharm的连接
mysql事务
关系型数据库的特性(原子:事务要么一次性都成功了,要么全部都不完成,
一致:保持数据的完整,事务开始前后数据库的完整性不变
隔离:争夺资源,到底听谁的
持久:一些修改好的数据,会永久存在,即使系统故障,也不会动)
隔离性的等级(往下越来越高)
未提交读(Read uncommitted):一个事务还没提交,另一方就能查看--脏读,就是读到的数据不
准确
读提交读(read committed):MySQL的默认等级,必须要等一个事务完全提交才能查看--幻读
可重复读(repeatable read):已开启的事务不允许增删改,可以查,不能使用update,但是
可以insert
序列化(Serializable):排队执行,只有前面的完成了才能执行后面的,但效率低
# 开启事务,首先要有一个表格
begin;#选择库,然后开启,然后开始下面的操作
mysql> begin; #开启后添加一些数据
Query OK, 0 rows affected (0.00 sec)
mysql> insert into my values(6,'fff2002');
Query OK, 1 row affected (0.00 sec)
mysql> insert into my values(6,'qwe123');
Query OK, 1 row affected (0.00 sec)
mysql> insert into my values(10,'afcecw');
Query OK, 1 row affected (0.00 sec)
mysql> insert into my values(22,'qwfdew');
Query OK, 1 row affected (0.00 sec)
mysql> insert into my values(325,'myuhter');
Query OK, 1 row affected (0.00 sec)
#添加后再新建一个终端去到刚刚的库和表格去查,发现查不到,表格为空-----未提交读
mysql> use my;
ERROR 1049 (42000): Unknown database 'my'
mysql> use mydb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select * from my;
Empty set (0.00 sec)
# 提交,这时我们要输入commit回车提交
commit
mysql> commit;
Query OK, 0 rows affected (0.01 sec)
#再去刚刚新建的终端查看,发现有数据了
mysql> select * from my;
+------+---------+