第五章:事務,視圖,索引,備份和恢復 1.事務是指將一系列數據操作捆綁成為一個整體進行統一管理. 一、事務語法: 1.開始事務 語法: BEGIN 或 START TRAINSACTION; 2.提交事務:執行的所有數據更新將永久地保存在資料庫數據文件中 語法: COMMIT; 3.回滾事務:將數據 ...
第五章:事務,視圖,索引,備份和恢復
1.事務是指將一系列數據操作捆綁成為一個整體進行統一管理.
一、事務語法:
1.開始事務
語法: BEGIN 或 START TRAINSACTION;
2.提交事務:執行的所有數據更新將永久地保存在資料庫數據文件中
語法: COMMIT;
3.回滾事務:將數據狀態回滾到事務開始前
語法: ROLLBACK;
4.設置自動提交開或關
MySQL中預設開始自動提交模式
關:值0: 關閉自動提交
語法: SET autocommit=0;
開:值1:開啟自動提交
語法: SET autocommit=1;
二、編寫事務時要遵循以下原則:
- 事務儘可能簡短
- 事務中訪問的數據量儘量最少
- 查詢數據時儘量不要使用事務
- 在事務處理過程中儘量不要出現等待用戶輸入的操作
什麼是視圖?
視圖是保存在資料庫中的select查詢
三、創建和使用視圖
1.使用SQL語句創建視圖
語法: CREATE VIEW 視圖名
AS
<SELECT 語句>;
註意:在SQL語句命名規範中,視圖一般以view_xxx或v_xxx的樣式來命名.
使用SQL語句刪除視圖
語法:DROP VIEW [IF EXISTS] 視圖名;
2.使用SQL語句查看視圖數據
語法:SELECT 欄位1, 欄位2,…..FROM view_name;
3.使用時視圖要註意
每個視圖中可以使用多個表與查詢相似一個視圖可以嵌套另一個視圖,但最好不要超過三層
對視圖數據進行添加,更新和刪除操作直接引用表中的數據當視圖數據來自多個表時,不允許添加和刪除數據。
什麼是索引?
根據索引的存儲類型,可以將索引分為B-樹索引(BTREE)和哈希索引(HASH)索引的作用是通過使用索引。
四、索引
索引分類:
普通索引、唯一索引、主鍵索引、全文索引、空間索引
普通索引
普通索引時MySQL中的基本索引類型,允許在定義索引的列中插入重覆值和空值.它的唯一任務是加快對數據的訪問速度.
唯一索引
唯一索引不允許兩行具有相同的索引值.創建唯一索引的列允許有空值.
主鍵索引
主鍵索引要求主鍵中的每個值時非空,唯一的.
複合索引
可以將多個列組合作為索引,這種索引稱為複合索引.
全文索引
全文索引的作用是在定義索引的列上支持值的全文查找,允許在這些索引列中插入重覆值和空值.
五、索引的語法
1.創建索引
語法: CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
ON table_name (column_name[length].....);
(1)UNIQUE | FULLTEXT | SPATIAL: 分別表示唯一索引,全文索引和空間索引,為可選參數
(2)Index_name :指定索引名
(3)Table_name:指定創建索引的表名
(5)column_name:指定需要創建索引的列
(6)Length:指定索引長度
2.刪除索引
語法: DROP INDEX index_name ON table_name;
(1)刪除表時,該表的所有索引將同時被刪除
(2)刪除表中的列時,如果要刪除的列為索引的組成部分,則該列也會從索引中刪除.
3.查看索引
語法: SHOW INDEX FROM table_name;
(1)在查詢語句後加”\G”,表示將結果集按列表示.
六:備份和恢復
mysqldump命令備份資料庫
1.mysqldump命令格式
語法:mysqldump -u username -h host -ppassword dbname[tbname1[,tbname2.....]]
>filename.sql
解析:
Username:表示用戶名
Host表示登錄用戶的主機名稱,如本機為主機可省略
Password表示登錄密碼
Dbname為需要備份的資料庫
Tbname為需要備份的數據表,可指定多張表,為可選項.如備份整個資料庫則此項省略
Filename.sql表示備份文件的名稱
2.mysql命令恢複數據庫
語法: mysql -u username -p [dbname]<filename.sql
解析:
username 表示用戶
Dbname 資料庫名
filename.sql 為資料庫備份後的文件
註意:在執行該語句之前,必須在MySQL伺服器中創建新資料庫,如果不存在新資料庫恢複數據庫過程將會出錯。
3.Mysql命令在DOS環境下的恢複數據庫命令:
語法:source filename;
通過複製文件實現數據恢復