table 基礎屬性
阿新 • • 發佈:2019-05-15
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, constraintscore_fk foreign key(sid) references student(sid) on delete cascade on update cascade )engine=innodb
指定參照動作,主表記錄做修改、刪除,從表引用的列會做相應修改、或不修改、拒絕修改 或 設為默認值
註意:引用表的列必須為主鍵,且在刪除引用表時 必須刪除引用從屬關系 或 刪除當前表。
table 基礎屬性