六 完整性約束: not null default: 若是單獨設置not null ,不能插入空值 若是設置了not null, 又指定了default, 能夠插入空值, 默認值生效 unique key: 單列惟一 unique(id), unique(name) create table t1(id int not null); 聯合惟一: 多行記錄中只要有一列字段的值不一樣就能夠, 徹底一致不行 unique(id, name) primary key : 單列主鍵 不能爲空, 惟一 化學反應 : not null + unique //這樣設置會顯示成PRI 但與設置成primary 不一樣, 聯合主鍵 :create table t9( id int, name varchar(10), primary key(id,name) ); 一行記錄中 id 和name 有一項不一樣便可 auto_increment : 自動增加,默認+一個步長, 數字 自動增加, 若是刪除已經建立的 ID 插入下一條記錄時候 依然會增加, 舊的ID仍然佔據, 再次插入新的數據 時候, ID在最後一條記錄的ID上面增加 truncate : 清空表, 刪除全部記錄, ID 從新插入數據時候, ID 初始化0 truncate student; //清單表student 清空表區分delete和truncate的區別: delete from t1; #若是有自增id,新增的數據,仍然是以刪除前的最後同樣做爲起始。 truncate table t1;數據量大,刪除速度比上一條快,且直接從零開始。 起始偏移量: auto_increment_offset 步長: auto_increment_increment show variables like "auto_inc%"; // 查詢可用的開頭是quto_inc的詞 set session quto_increment_increment=5; //設置步長, 當次鏈接中有效, set global auto_increment_increment=3; //設置步長是3, 全局配置, 以後都生效 set global auto_increment_offset=3; //設置起始偏移量 ,起始值3 tip: 若是auto_increment_offset的值大於auto_increment_increment的值,則auto_increment_offset的值會被忽略 設置步長和偏移量以後,須要重登陸 foreign key: 外鍵 (關聯其餘表, 的數據, 省空間//) constraint 外鍵名 foreign key((副表)本表字段) references 主表名(字段) //這樣建立數據不一樣步, constraint 外鍵名 foreign key((副表)本表字段) references 主表名(字段) on delete cascade //同步刪除 on update cascade //同步更新 三種關係: 一對一 一對多 多對一