mysql 列約束 MySQL 列級約束和表級約束

2021-10-22 03:11:49 字數 1247 閱讀 6515

一,六大約束

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 宣告了主鍵約束的列上不允許插入重複的值,乙個表中只能有乙個主...