一,六大約束
not null 非空
primary key 主鍵
unique 唯一
check 檢查約束,mysql 不支援,語法不報錯但無效果
foreign key 外來鍵.限制兩表關係,通常在從表引入外來鍵約束,引入主表中某列的值,保證從表該字段的值必須**於主表關聯列的值
default預設值/系統設定值
二,表級約束和列級約束的定義:
表級約束:對多個資料列建立的約束,稱為表級約束表級約束只能在列定義後宣告
列級約束:對乙個資料列建立的約束,稱為列級約束列級約束既可以在列定義時宣告,也可以在列定義後宣告
ps:簡單來理解的話就是列級約束針對的是單列,表級約束針對的是整個表,如此引伸出來
六大約束都可在列級約束使用,但外來鍵無效果(外來鍵是約束兩個表之間的關係)
顯而易見,非空和預設不可在表級約束中使用
三,新增約束的時機:
建立表時:
#建立主表,實驗外來鍵
creat table if not exists major(
id int,
major_name varchar(20)
#建立從表,實驗表級/列級約束
creat table if not exists students(
#新增表級約束,直接在型別後新增即可
id int primary key,
student_name varchar(20),
*** char(1),
age int default 18,
majorid int,
#新增表級約束,直接新增在列建立結束後
constraint pk primary key(id).#主鍵,constraint用來命名,不加也可以
constraint fk_student_majory foreign key(majorid) references major(id)#外來鍵
修改表時:
#新增非空,其他列級約束可仿照此方法
alter table students modify column student_name varchar(20) not null;
#新增外來鍵,其他表級約束也可使用同樣方法新增
alter table students add foreign key(majorid) references major(id) ;
標籤:列級,外來鍵,約束,新增,key,表級
mysql列型別 列約束
mysql伺服器端資料的邏輯結構 server database table row column 1.常用的sql語句 1 增 insert into 表 values 值,值,2 刪 delete from 表 3 改 update 表 set 列 值,列 值 4 查 select from 表...
MySQL中的約束,列級約束,表級約束
總結了一些課上的筆記和 可以執行看看 約束的作用 一種限制,用於限制表中的資料,為了保證表中的資料的準確和可靠性。約束的分類 1.not null 非空,用於保證該字段的值不能為null 2.default 預設值,用於保證該字段在不設定具體的內容時,有乙個預設值。即開始存資料的時候不不傳也會有乙個...
MYSQL中列約束
mysql可以對要插入的資料進行特定的驗證,只有滿足條件才允許插入,否則被認為非法的插入。例如編號不能出現重複,性別只能是男或者女,工資只能是正數 create table t3 id int 列約束 1 主鍵約束 primary key 宣告了主鍵約束的列上不允許插入重複的值,乙個表中只能有乙個主...