標籤:pre 成功 狀態 表示 name 逆轉 commit index 依賴
MySQL索引的建立對於MySQL的高效運行是很重要的,索引可以大大提高MySQL的檢索速度,資料庫索引就好比好比是一本書全面的目錄。索引分5類
- 普通索引,這是最基本的索引類型,而且他沒有唯一性之類的限制。
- 唯一性索引,這種索引和前面的“普通索引”基本相同,但有一個區別:索引列的所有值只能出現一次,即必須唯一。
- 主鍵索引,主鍵是一種唯一性索引,該索引要求主鍵中的每個值都唯一,不允許為空白。
- 全文索引,索引類型為FULLTEXT,全文索引可以在CHAR、VARCHAR或者TEXT類型的列上建立。
- 單列索引和多列索引,索引可以在單列上建立的索引,也可以在多列上建立的索引。多列索引可以區分其中一列可能有相同值的行。建立索引方法1.建立普通索引,命令格式是:
CREATE INDEX <索引的名字> ON tablename (列的列表);
2.建立唯一索引,命令格式是:
CREATE UNIQUE INDEX <索引名字>ON tablename(列的列表);
3.建立主鍵索引,有兩種方式,一種是在建立表的同時建立主鍵,主鍵索引自動建立,命令格式如下:
CREATE TABLE tablename ([....],PRIMARY KEY(列的列表));
另一種是已經建立了表,沒有指定主鍵,然後修改表加入主鍵,主鍵索引會自動建立,命令格式如下:
ALTER TABLE tablename ADD PRIMARY KEY(列的列表);
4.建立表示指定或修改表時指定全文索引,命令格式如下:
CREATE TABLE 表名 (列名 TEXT,FULLTEXT(列名));
5.建立多列索引,命令格式如下:
CREATE INDEX 多列索引名字 ON 列名_列名;
6.查詢索引:
SHOW INDEX FROM 表名 \G;
key_name 對應的是索引名字。Non_unique 對應值是1,表示不是唯一性索引,對應值為0,表示是唯一性索引。
7.刪除索引:
DROP INDEX 索引名 from 表名;
事務:一組操作共同執行或者都不執行,結果保持一致。事務的四大特性:
- 原子性:不可分割,視為一個整體。
- 一致性:前後結果保持一致。
- 隔離性:對資料進行修改的所有並發事務是彼此隔離的,表示事務是獨立的,不應以任何方式依賴或影響其他事務。
- 持久性:一旦執行成功,無法復原轉,資料永久變更。Mysql中使用命令控制事務需要用到3個命令:
- begin :表示開始一個事務,後面會有多條資料庫動作陳述式執行。
- commit:表示提交一個事務,對應前面的begin操作,他們之間的資料庫動作陳述式一起完成。
- rollback:表示復原一個事務,在begin和commit之間,如果某一個資料庫動作陳述式出現錯誤,執行rollback復原,資料庫回到begin之前的狀態。視圖:資料庫中的虛擬表,一張或者多表中的資料給不同許可權使用者提供訪問。1.建立一個查詢結果的視圖:
CREATE VIEW 視圖名 AS SELECT * FROM 表名 條件(where score>80);
2.查看視圖:
SELECT * FROM 視圖名;
3.刪除一個視圖:
DROP VIEW IF EXISTS 視圖名;
IF EXISTS 參數指判斷視圖是否存在,如果存在則執行,不存在則不執行。
mysql 索引和事務、視圖