1. 程式人生 > 其它 >mysql事務,mysql和redis與pycharm的連線

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;
+------+---------+