事務(TRANSACTION)必須具備以下四個屬性,簡稱ACID 屬性
1.原子性(Atomicity)
事務是一個完整的操作,事務的各步操作是不可分的(原子的),要么都執行,要么都不執行
2.一致性(Consistency)
當事務完成時,資料必須處于一致狀態
3.隔離性(Isolation)
并發事務之間彼此隔離、獨立,它不應以任何方式依賴于或影響其他事務
4.持久性(Durability)
事務完成后,它對資料庫的修改被永久保持
創建事務
1.開始事務 BEGIN ; 或 START TRANSACTION;
2.提交事務 COMMIT ;
3.回滾(撤銷)事務 ROLLBACK ;
自動關閉和開啟事務
1.關閉/開啟自動提交狀態 SET autocommit = 0|1; 值為0時關閉自動提交 值為1時開啟自動提交
SET autocommit=0; --關閉自動提交,以下視為一個事務
/*--轉賬:張三的賬戶減少500元,李四的賬戶增加500元--*/
UPDATE `bank` SET `currentMoney`=`currentMoney`-500
WHERE `customerName`='張三';
UPDATE `bank` SET `currentMoney`=`currentMoney`+500
WHERE `customerName`='李四';
COMMIT; --提交事務
UPDATE `bank` SET `currentMoney`=`currentMoney`-1000
WHERE `customerName`='張三';
ROLLBACK; --回滾事務
SET autocommit = 1; --開啟自動提交恢復默認狀態
注:1.關閉自動提交后,從下一條SQL陳述句開始則開啟新事務,需使用COMMIT或ROLLBACK陳述句結束該事務
2.默認情況下,每條單獨的SQL陳述句視為一個事務
3.關閉默認提交狀態后,可手動開啟、關閉事務
創建視圖
1.使用SQL陳述句創建視圖 CREATE VIEW view_name(視圖名自定義) AS <SELECT 陳述句>;
2.使用SQL陳述句洗掉視圖 DROP VIEW [IF EXISTS] view_name; 注:其中 if exists 是洗掉前判斷該視圖是否存在
3.使用SQL陳述句查看視圖 SELECT 欄位1, 欄位2, …… FROM view_name;
注:使用視圖的注意事項:
1.使用視圖修改資料會有許多限制,一般在實際開發中視圖僅用作查詢
視圖中可以使用多個表
2.一個視圖可以嵌套另一個視圖
3.對視圖資料進行添加、更新和洗掉操作直接影響所參考表中的資料
4.當視圖資料來自多個表時,不允許添加和洗掉資料
索引:是一種有效組合資料的方式,為快速查找到指定記錄
作用:
1.大大提高資料庫的檢索速度
2.改善資料庫性能
常用索引型別
普通索引 基本索引型別[/color] 允許在定義索引的列中插入重復值和空值
唯一索引(UNIQUE) 索引列資料不重復 [/color] 允許有空值
主鍵索引 主鍵列中的每個值是非空、唯一的 [/color] 一個主鍵將自動創建主鍵索引
復合索引 將多個列組合作為索引
全文索引(FULLTEXT) 支持值的全文查找 [/color] 允許重復值和空值
空間索引(SPATIAL) 對空間資料型別的列建立的索引[/color]
索引的屬性:
Table:創建索引的表
Non_unique:索引是否非唯一
Key_name:索引的名稱
Column_name:定義索引的列欄位
Seq_in_index:該列在索引中的位置
Null:該列是否能為空值
Index_type:索引型別
創建/洗掉索引
創建索引 CREATE [UNIQUE | FULLTEXT | SPATIAL 索引] INDEX index_name(索引名自定義) ON table_name(表名) (column_name[length]…(列名(屬性)));
洗掉索引 DROP INDEX index_name(自定義的索引名) ON table_name(表名);
查看索引 SHOW INDEX FROM table_name(表名);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/105809.html
標籤:非技術區
上一篇:SqlYog子查詢
