mysql事務,mysql和redis與pycharm的連線
阿新 • • 發佈:2022-03-15
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 *