Django基礎-04篇 Django開發前後端聯動
阿新 • • 發佈:2020-11-28
什麼是事務
要麼都成功,要麼都失敗
事務原則:ACID原則 原子性,一致性,隔離性,永續性 (髒讀,幻讀...)
原子性(Atomicity)
要麼都成功,要麼都失敗
一致性(Consistency)
事務前後的資料完整性要保證一致。
永續性(Durability) --事務提交
事務一旦提交則不可逆,被持久化到資料庫中!
隔離性
事務的隔離性是多個使用者併發訪問資料庫時,資料庫為每一個使用者開啟的事務,不能被其他事務操作資料所幹事務之間要相互隔離。
事務
mysql是預設開啟事務自動提交的 SET autocommit =0 --關閉 SET autocommit=1 開啟(預設的) 手動處理事務 SET autocommit =0 關閉自動提交 事務開啟 START TRANSACTION 標記一個事務的開始,從這個之後的sql都在同一事務內 INSERT xx INSERT xx -- 提交:持久化 (成功!) COMMIT --回滾 ROLLBACK --事務結束 SET autocommit=1 --開啟事務自動提交 --瞭解 SAVEPOINT 儲存點名 --設定一個事務的儲存點 ROLLBACK TO SAVEPOINT 儲存點名 --回滾到儲存點 RELEASE SAVEPOINT 儲存點名 --撤銷儲存點
模擬轉賬: 事務
CREATE TABLE `account`( `id` int(3) not null AUTO_INCREMENT, `name` varchar(30) not null, `money` decimal(9,2) not null, PRIMARY key (`id`) )engine =innodb DEFAULT CHARSET =utf8 insert into account(name,money) values("A",2000.00),("B",10000.00) set autocommit =0; --關閉自動提交事務 start transaction --開啟一個事務 update account set money=money-500 where name="A" -- A 減500 update account set money=money+500 where name="B" -- B加500 commit ; -- 提交事務 rollback; -- 回滾事務 set autocommit=1; -- 恢復預設值
索引
MySQL 官方索引的定義:索引(index)是幫助MySQL高校獲取資料的資料結構,提取句子主幹,就可以得到索引的本質,索引是資料結構。
1.索引分類
- 主鍵索引(PRIMARY KEY)
唯一的標識,主鍵不可重複,只能有一個列作為主鍵
- 唯一索引(UNIQUE KEY)
避免重複的列出現,唯一索引可以重複,多個列都可以標識位,唯一索引
- 常規索引(KEY/INDEX)
預設的,index,key 關鍵字類設定。
- 全文索引(FULLTEXT)
在特定的資料庫引擎下才有,MyISAM
快速定位