mysql索引的操作語句例項分析

2021-12-30 07:39:23 字數 1758 閱讀 2447

索引的作用

可以大大提高mysql的檢索速度 索引的組成

單列索引和組合索引

單列索引 :乙個索引包含單個列,乙個表可以有多個單列索引 組合索引 :乙個索引包含多個列 手動索引和自動索引

自動索引 : 完整性約束條件 手動索引 : 手動在表上建立 索引不足

占用記憶體 降低表的更新速度。因為更新表時,mysql不僅要儲存資料,還要儲存一下索引檔案。

可以根據以下語句,可判斷索引的是否已建立或索引是否引用。

- 建立或者增加索引,可以檢測是否建立成功

- where, group by, from等語句中,是否使用索引

-- 檢視表的建立語句是否包含索引

show create table t_name \g;

-- 檢視索引是否使用

explain

select * from t_dept where deptno = 2 \g;-- 建表時,建立索引

-- unique 可選,表示建立唯一索引

-- index或者key,指定欄位為索引

create table t_name(

屬性名 資料型別,

屬性名 資料型別,

[unique] index|key [索引名] (屬性名 [(length)] [asc|desc] )

); -- 表存在,建立索引,建立唯一索引

create [unique] index 索引名 on 表名 (屬性名 [(length)] [asc|desc]);

alter table t_name add [unique] index|key 索引名 (屬性名 [(length)] [asc|desc]);-- 建表時,建立多列索引

create table t_name(

屬性名 資料型別,

屬性名 資料型別,

[unique] index|key [索引名]

( 屬性名1 [(length)] [asc|desc],

屬性名2 [(length)] [asc|desc]

)); -- 表存在,建立多列索引

create index 索引名 on 表名

( 屬性名1 [(length)] [asc|desc],

屬性名2 [(length)] [asc|desc]

); alter table t_name add index|key 索引名

( 屬性名1 [(length)] [asc|desc],

屬性名2 [(length)] [asc|desc]

);drop index 索引名 on t_name;限制

char, varchar, text欄位上 只能在 myisam 引擎上建立使用,建立表預設 innodb 全文搜尋方式

二進位制 : 區分大小寫 預設 : 不區分大小寫

-- 建立表時, 建立全文索引

create table t_name(

屬性名 資料型別,

屬性名 資料型別,

fulltext index|key [索引名] (屬性名 [(length)] [asc|desc] )

); -- 表存在時,建立全文索引

create fulltext index 索引名 on 表名 (屬性名 [(length)] [asc|desc]);

alter table t_name add fulltext index|key 索引名 (屬性名 [(length)] [asc|desc]);

MySQL操作命令語句例項

e良師益友網 1 啟動mysql伺服器 如何啟動mysql。有兩種方法 一是用winmysqladmin,如果機器啟動時已自動執行,則可直接進入下一步操作。二是在dos方式下執行 d mysqlbinmysqld 2 進入mysql互動操作介面 在dos方式下,執行 d mysqlbinmysql ...

mysql的操作語句 MySQL操作語句

資料定義語句ddl mysql注釋 建立表 create table user id int primary key auto increment,username varchar 50 userid varchar 50 gender varchar 5 default 男 birthday va...

MYSQL索引例項

mysql描述 乙個文章庫,裡面有兩個表 category和article。category裡面有10條分類資料。article 裡面有20萬條。article裡面有乙個 article category 欄位是與category裡的 category id 字段相對應的。article表裡面已經把...