亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

MySQL六種約束的示例詳解

瀏覽:95日期:2023-02-18 16:43:45
目錄
  • 什么是約束
  • 外鍵約束

什么是約束

作用于表上的規則,限制存儲在表中的數據

約束分類:

約束描述關鍵字非空約束該字段數據不能為nullNOT NULL唯一約束該字段數據唯一不重復UNIQUE主鍵約束一行數據的唯一標識(非空且唯一)PRIMARY KEY默認約束未指定該字段值則使用默認值DEFAULT檢查約束(8.0.16以后)該字段值滿足某一條件CHECK外鍵約束為兩張表建立連接(數據一致、完整)FOREIGN KEY

創建表示例:

CREATE TABLE info(
	`id` INT UNIQUE auto_increment PRIMARY KEY COMMENT"ID唯一標識",
	`name` VARCHAR(10) NOT NULL UNIQUE COMMENT"姓名",
	`age` INT CHECK(age > 0 && age < 120) COMMENT "年齡",
	`status` CHAR(1) DEFAULT"1" COMMENT"狀態",
	`gender` CHAR(1) COMMENT"性別"
)COMMENT "用戶信息表";

外鍵約束

外鍵通常用來為兩張表建立連接,兩張利用外鍵連接的表被稱為父子表。

子表當中會設定一個外鍵字段用于關聯父表的主鍵字段

即擁有外鍵的表是子表(從表),該外鍵對應另一個表的主鍵這個表稱之為父表

如果沒有設置外鍵,僅僅是將子表開了一個字段對應上了父表的主鍵字段在mysql層面是依舊沒有任何關系的。此時兩個表僅存在邏輯關系,無法保證數據的完整性和一致性

創建外鍵語法:

-- 在創建表時創建
CREATE TABLE son(
	...
	CONSTRAINT [外鍵名稱] FOREIGN KEY(外鍵字段名) REFERENCES 主表名(主表主鍵字段名)
);
-- 創建表后為表添加主鍵
ALTER TABLE 表名	ADD CONSTRAINT 外鍵名稱 FOREIGN KEY(外鍵字段名) REFERENCES 主表(主表主鍵字段名)
-- 刪除外鍵
alter table 表名 drop foreign key 外鍵名稱;

創建示例:

# 父表
CREATE TABLE father(
	`id` INT auto_increment PRIMARY KEY COMMENT"父表ID",
	`name` VARCHAR(20) NOT NULL COMMENT"姓名",
	`password` VARCHAR(20) DEFAULT(0000)
);
INSERT INTO father VALUES(null,"小三","1234"),(null,"小四","1234"),(null,"小五","1234"),(null,"小六","1234");
# 子表
CREATE TABLE son(
	`id` INT auto_increment PRIMARY KEY COMMENT"子表ID",
	`status` varchar(10) COMMENT "狀態",
	`fa_id` INT COMMENT"外鍵",
	CONSTRAINT fk_father_son FOREIGN KEY(fa_id) REFERENCES father(id)
);
INSERT INTO son VALUES(null,"活",2),(null,"活",3),(null,"死",3),(null,"活",2);

上述示例 子表設置了外鍵,字段名為fa_id并關聯到了父表主鍵id,外鍵名稱為fk_father_son

創建完成后,我們添加幾組數據。將幾個son添加到表中,并設置外鍵字段屬性為某個father。比如(null,‘活’,3),那么此時如果我們嘗試去刪除父表id=3的這一行數據,就會提示錯誤。因為兩個表已經在mysql層面上進行了關聯

總結:

  • 從表的外鍵通常是主表的主鍵
  • 從表中外鍵的類型必須與主表中的主鍵類型一致
  • 主表數據發生變化時應注意從表數據的一致性問題

到此這篇關于MySQL六種約束的示例詳解的文章就介紹到這了,更多相關MySQL六種約束內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: MySQL
相關文章:
主站蜘蛛池模板: 狼人久草 | 色综合精品久久久久久久 | 免费看又爽又黄禁片视频1000 | 久久国产亚洲欧美日韩精品 | 国产永久地址 | 播放欧亚一级特黄录像 | 欧美一级特黄aa大片 | 中文字幕在线播放一区 | 四色婷婷婷婷色婷婷开心网 | 国产精品久久福利新婚之夜 | 国产高清在线精品一区 | 久久国产精品超级碰碰热 | 91日本在线精品高清观看 | 亚洲一区 欧美 | 亚洲一区二区三区免费在线观看 | 小明看看免费视频 | 国产成人18黄网站免费网站 | 国内视频一区 | 国产精品久久久久久久福利院 | 国产美女视频爽爽爽 | 亚洲国产第一区 | 外国三级毛片 | 亚洲精品国产拍拍拍拍拍 | 欧美成人aa久久狼窝动画 | 国产一区二区三区成人久久片 | 91刘亦菲精品福利在线 | 麻豆资源 | 免费观看成人羞羞视频网站观看 | 成人影片在线播放 | 亚洲一级高清在线中文字幕 | 久久aa毛片免费播放嗯啊 | 亚洲精品综合网在线8050影院 | 欧美高清视频www夜色资源网 | 欧美精品国产日韩综合在线 | 亚洲欧美另类在线 | 黄页网址免费 | 国产日韩在线观看视频 | 1024cao社区榴地址一地址二 | 亚洲黄色小视频 | 亚洲一区二区三区高清不卡 | 热99re久久精品天堂vr |