mysql mysql資料庫的完整性約束

2021-08-01 01:58:42 字數 1637 閱讀 9303

注:

一張表最多有乙個主鍵約束,否則會報錯。故若修改主鍵應先刪除在新增

刪除主鍵約束前,如果主鍵有自增長需先刪除自增長,否則無法刪除主鍵

新增:

alter table 表名

add primary key(欄位名1,...);

刪除

alter table 表名

drop primary key;

注:

外來鍵參考的字段只能是primary key或not null,外來鍵參考的字段必須和外來鍵所在字段可以型別轉換

若刪除外來鍵約束時不知道約束名可以通過show create table 表名來檢視約束名

外來鍵中的級聯關係有以下幾種情況:

---on delete cascade :刪除主表資料時,從表資料隨之刪除

---on update cascade :更新主表資料時,從表資料隨之更新

---on delete set null :刪除主表資料時,從表資料置空

---預設 :刪除主表資料時,應先刪除從表資料,否則無法操作

新增:

alter table 表名

add [constraint 約束名] foreign key(欄位名) references 表名(欄位名) [級聯關係];

刪除

alter table 表名

drop foreign key 約束名;

注:

唯一可以為空,兩個均為空的元組符合unique約束
新增:

alter table 表名

modify 欄位名 字段型別 unique;

change 欄位名 欄位名 字段型別 unique;

add [constraint 約束名] unique [key] (欄位名);

刪除

alter table 表名

drop index 欄位名;

修改:

alter table 表名

add check(欄位名 is not null);

modify 欄位名 字段型別 [not null];

change 欄位名 欄位名 字段型別 [not null];

修改:

alter table 表名

modify 欄位名 字段型別 default 預設值;

change 欄位名 欄位名 字段型別 預設值;

alter table 表名

add check(約束語句 -欄位名和約束條件);

注:

modify和change為修改建表語句,會影響not null限制、default限制;可以用來增加key,但不會刪除key(不寫的情況下)

modify和change的區別在於change可以指定欄位名,修改字段型別;而modify不可以

add/drop等為新增或刪除約束(key)

資料庫 MYSQL MySql資料庫使用者密碼的修改

環境 作業系統 win2003 mysql mysql ver 12.22 distrib 4.0.18,for win95 win98 i32 思想 為了安全加密需要設定mysql資料庫相關使用者的密碼 mysql資料庫的密碼都是儲存在mysql資料庫例項的user表中的password欄位裡,通...

資料庫mysql MySQL軟體安裝

軟體名稱及版本 mysql installer community 5.7.20.0 是可以同時支援32位和64位系統的 軟體名稱及版本 mysql installer community 5.7.20.0 a 雙擊開啟安裝程式 勾選 i accept the license terms 選擇 cu...

資料庫系統mysql MySQL資料庫系統

1 mysql的特點 1 多執行緒 多使用者 2 基於c s 客戶端 伺服器 架構 3 簡單易用 查詢速度快 4 安全可靠 2 mysql編譯安裝 代表鍵盤上tab鍵 1 準備工作 解除安裝使用rpm方式安裝的mysql rpm e mysql nodeps 安裝cmake包 cd media ta...