1. 程式人生 > >table 基礎屬性

table 基礎屬性

ade not 指定 efault server rem check asc dex

唯一值約束(unique):

  一張表 可以有多個列 添加唯一值約束,只能允許一列為空值。

復合唯一性約束unique(sid, kid):

  創建 constraint uc_sk unique(sid, kid)

  刪除 alter table t1 drop index uc_sk

主鍵約束(primary key):

  一張表只能有一列設置為主鍵,主鍵唯一 且不能為空,innoDB引擎主鍵即索引。(唯一值約束 + 非空約束)

  當選用innodb存儲引擎時,會在主鍵設置索引,記錄存放順序--索引。

自增主鍵(auto_increment not null primary key):

  添加新紀錄時,主鍵默認為上條記錄的 主鍵值加一。

復合主鍵 primary key(sid, kid):

  

check約束 適用於微軟的(sql Server)

外鍵約束:

  被引用表的列 必須是 主鍵、唯一的、不為空,且表的存儲引擎 為 innodb

  參照動作:cascade(相應操作),restrict(拒絕操作),set null(設為空),no action(不修改),set default(默認值)。

從表語句:

create table score
(
sid int not null,
mark int,
constraint
score_fk foreign key(sid) references student(sid) on delete cascade on update cascade )engine=innodb

  指定參照動作,主表記錄做修改、刪除,從表引用的列會做相應修改、或不修改、拒絕修改 或 設為默認值

  註意:引用表的列必須為主鍵,且在刪除引用表時 必須刪除引用從屬關系 或 刪除當前表。

table 基礎屬性