MySQL 鍵值的使用

2021-10-01 10:01:49 字數 1990 閱讀 7714

鍵值的種類:普通索引(index)、唯一索引(unique)、主鍵(primary key)、外來鍵(foreign key)、全文索引(fulltext)。

普通索引介紹

用來給字段值排隊,加快對資料庫查詢的速度,配置後占用物理儲存空間;主要型別有:btree 、b+tree 、hash。

使用規則

乙個表可以有多個index欄位,設定為index的字段的值允許重複,且可以賦null值;通常將作為查詢條件的字段設定為index欄位,index欄位的標誌是mul。

建立索引的方式

建表時建立索引:

create table testdb.test(

id int(6),

name char(10),

group char(10),

*** enum(girl,boy),

index(id), index(name)

);在已有的表中建立索引:

create index index_name on testdb.test(id);

index_name:索引名稱

檢視索引資訊

show index from testdb.test \g;				//    \g按行顯示

drop index 欄位名 on testdb.test; // 刪除索引

使用規則

在乙個表中只能建立一次主鍵(primary key)字段;當多個欄位都作為主鍵時,必須一起建立,稱為復合主鍵;對於設定為主鍵的字段值不允許重複、不允許賦null值;通常把表中唯一標識記錄的字段設定為主鍵(記錄編號的字段),主鍵欄位的標誌為pri。主鍵通常與auto_increment 連用 實現自增。

建立及刪除主鍵

建表時建立主鍵:

create table testdb.test(

id int(6) primary key, //設定為主鍵

name char(10),

group char(10)

);在已有表中建立主鍵:

alter table testdb.test add primary key (id);

刪除主鍵:

alter table testdb.test drop primary;

建立及刪除復合主鍵:

建表時建立:

create table testdb.test(

id int,

name char(10),

group char(10),

primary key(id,name) //建立復合主鍵

);在已有表中建立:

alter table testdb.test add primary key(id,name);

刪除復合主鍵:

alter table testdb.test drop primary key;

使用規則

在插入記錄時,字段值在另乙個表的字段值範圍內選擇;表字段型別要一致,被參照字段必須是索引型別的一種;使用外來鍵的前提是該錶的引擎必須是innodb。

建立及刪除外來鍵

建立外來鍵:

create table testdb.test(

id int,

name char(10),

group char(10),

foreign key(name) references 參照表名(欄位名)//指定外來鍵及參照表

on update cascade //同步更新

on delete cascade //同步刪除

)engine=innodb; //指定儲存引擎

刪除外來鍵:

alter table testdb.test drop foreign key 外來鍵名稱;

MySQL鍵值 索引

索引是什麼?索引就是對資料表中的若干字段進行排序的方法,類似於對一本書做目錄,有了目錄就可以快速定位資料的具體位置。索引的優點 通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性 可以加快資料的檢索速度 索引的缺點 當對表中的資料進行增加 刪除和修改的時候,索引也要動態的維護,會降低資料庫的寫...

python字典多鍵值及重複鍵值的使用方法 詳解

在python中使用字典,格式如下 dict 在實際訪問字典值時的使用格式如下 dict key 多鍵值字典的多鍵值形式如下 dict 在實際訪問字典裡的值時的具體形式如程式設計客棧下所示 以第乙個鍵為例 dict key11,key12 或者是 dict key11,key12 以下是實際例子 多...

MySQL鍵值 什麼是索引

什麼是索引 就是對資料表中的若干字段進行排序的方法,類似於對一本書做目錄,有了目 錄就可以快速定位資料的具體位置。索引的優點 通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性 可以加快資料的檢索速度 索引的缺點 當對表中的資料進行增加 刪除和修改的時候,索引也要動態的維護,會降低資料庫 的寫...