1. 程式人生 > >mysql學習之旅-之使用-1.2.2

mysql學習之旅-之使用-1.2.2

一:約束

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

這裡主要講解mysql的約束:

1、非空約束:not null;

指示某列不能儲存 NULL 值

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

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

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

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

4、外來鍵約束:foreign key () references (參考),fk

保證一個表中的資料匹配另一個表中的值的參照完整性。語法: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 外來鍵約束名稱