mysql 索引與約束 mysql約束與索引的區別

2021-10-17 12:22:26 字數 1251 閱讀 2443

摘自:

一:約束

作用:是為了保證資料的完整性而實現的摘自一套機制,它具體的根據各個不同的資料庫的實現而有不同的工具(約束);

這裡主要講解mysql的約束:

1、非空約束:not null;

指示某列不能儲存null 值

2、唯一約束:unique();uk

unique約束的字段,要求必須是唯一的,但null除外;

3、主鍵約束:primary key();pk

主鍵約束=not  null + unique,確保某列(或兩個列多個列的結合)有唯一標識,有助於更容易更快速地找到表中的乙個特定的記錄。

保證乙個表中的資料匹配另乙個表中的值的參照完整性。語法:constraint  fk_dept_id   foreign key  (dept_id)  references  dept(dept_id);

5、自增約束:auto_increment

6、預設約束:default

給定預設的值

7、檢查性約束:check

保證列中的值符合指定的條件。

示例:create table member(

id int(10),

phone int(15) unsigned zerofill,

name varchar(30) not null,

constraint uk_name unique(name),

constraint pk_id primary key (id),

constraint fk_dept_id foreign key (dept_id,欄位2)

references dept(主表1)(dept_id)

//constraint  uk_name   可以省略不寫。uk_name  唯一約束名稱;

//pk_id     主鍵約束名稱;

//fk_dept_id   外來鍵約束名稱

二:索引

作用:快速定位特定資料,提高查詢效率,確保資料的唯一性,快速定位特定資料;可以加速表和表之間的連線,實現表與表之間的參照完整性,使用分組和排序語句進行資料檢索時,可以顯著減少分組和排序的時間全文檢索字段進行搜尋優化;

索引的種類:

1、主鍵索引(primary   key);

2、唯一索引(unique);

3、常規索引(index);

4、全文索引(full  text);

總結:約束是為了保證表資料的完整性,索引是為了提高查詢效率,兩者作用不一樣!其次種類也不一樣。

mysql 索引與約束 mysql索引和約束區別

一 約束 作用 是為了保證資料的完整性而實現的摘自一套機制,它具體的根據各個不同的資料庫的實現而有不同的工具 約束 這裡主要講解mysql的約束 1 非空約束 not null 指示某列不能儲存null 值 2 唯一約束 unique uk unique約束的字段,要求必須是唯一的,但null除外 ...

MySQL 字段約束與索引

mysql的字段約束共四種 約束名關鍵字 描述主鍵約束 primary key 字段值唯一,且不能為null 非空約束 not null 字段值不能為null 唯一約束 unique 字段值唯一,但可以為null 外來鍵約束 foreign key 保持關聯資料的邏輯性 關於主鍵約束 create ...

mysql約束和索引

1 作用 保證資料的完整性 一致性 有效性 2 約束分類 1 預設約束 default 插入記錄,不給該字段賦值,則使用預設值 1 非空約束 not null 不允許該字段的值有null記錄 3 示例 create table t2 id int not null,name varchar 15 e...