摘自:
一:約束
作用:是為了保證資料的完整性而實現的摘自一套機制,它具體的根據各個不同的資料庫的實現而有不同的工具(約束);
這裡主要講解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...