国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

MySQL學(xué)習(xí)筆記4:完整性約束限制字段

2024-07-24 12:48:48
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
完整性約束是對(duì)字段進(jìn)行限制,從而符合該字段達(dá)到我們期望的效果比如字段含有默認(rèn)值,不能是NULL等
直觀點(diǎn)說(shuō):如果插入的數(shù)據(jù)不滿足限制要求,數(shù)據(jù)庫(kù)管理系統(tǒng)就拒絕執(zhí)行操作
設(shè)置表的主鍵
主鍵能夠標(biāo)識(shí)表中每條信息的唯一性,如同身份證號(hào)碼和人的關(guān)系
人可以同名,但是身份證號(hào)碼卻是唯一的,
創(chuàng)建主鍵的目的在于快速查找到表中的某一條信息
單字段主鍵
復(fù)制代碼 代碼如下:

mysql> create table student(
-> id int primary key,
-> name varchar(20),
-> sex boolean
-> );
Query OK, 0 rows affected (0.09 sec)

創(chuàng)建了三個(gè)字段,其中id為主鍵
多字段主鍵
多字段主鍵由多個(gè)屬性組合而成,在屬性定義完之后統(tǒng)一設(shè)置主鍵
復(fù)制代碼 代碼如下:

mysql> create table student2(
-> id int,
-> course_id int,
-> score float,
-> primary key(id,course_id)
-> );
Query OK, 0 rows affected (0.11 sec)

student2表有三個(gè)字段,其中id和course_id的組合可以確定唯一的一條記錄
設(shè)置表的外鍵
表的外鍵與主鍵是相對(duì)應(yīng)的,比如表A中的id是外鍵,表B中的id是主鍵
那么就可以稱表B為父表,表A為子表
設(shè)置表外鍵的作用在于建立與父表的聯(lián)系,比如表B中id為123的學(xué)生刪除后,表A中id為123的記錄也隨著消失
這樣做的目的在于保證表的完整性
復(fù)制代碼 代碼如下:

mysql> create table student3(
-> id int primary key,
-> course_id int,
-> teacher varchar(20),
-> constraint fk foreign key(id,course_id)
-> references student2(id,course_id)
-> );
Query OK, 0 rows affected (0.12 sec)

這里創(chuàng)建student3表,constraint后面的fk是外鍵別名,foreign key也就是設(shè)置外鍵的字段
references后的內(nèi)容表示父表,和父表中的主鍵
需要注意的是,父表中的主鍵不能為空,并且主鍵和外鍵的數(shù)據(jù)類型要一致
設(shè)置表的非空約束
非空性很好理解,就是設(shè)置表中字段的值不能為空(NULL)
如果在已經(jīng)設(shè)置此約束性條件的字段中插入空值,數(shù)據(jù)庫(kù)系統(tǒng)則會(huì)報(bào)錯(cuò)
復(fù)制代碼 代碼如下:

mysql> create table student4(
-> id int not null,
-> name varchar(20),
-> sex boolean
-> );
Query OK, 0 rows affected (0.10 sec)

這里的not null就是約束條件
設(shè)置表的唯一性約束
唯一性是指表中該字段的值不能重復(fù)出現(xiàn),設(shè)置表的唯一性約束
也就是給表中某個(gè)字段加上unique
復(fù)制代碼 代碼如下:

mysql> create table student5(
-> id int unique,
-> name varchar(20)
-> );
Query OK, 0 rows affected (0.10 sec)
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 西峡县| 双峰县| 昔阳县| 阳曲县| 江北区| 澄江县| 象州县| 桂阳县| 方山县| 梁山县| 肇州县| 大石桥市| 从化市| 新龙县| 南乐县| 福清市| 商丘市| 滦平县| 湖北省| 沽源县| 江川县| 观塘区| 漳浦县| 昆明市| 历史| 襄城县| 五莲县| 湘潭县| 怀柔区| 农安县| 万荣县| 犍为县| 沾益县| 五大连池市| 申扎县| 东海县| 红桥区| 洞头县| 荔波县| 南木林县| 凤庆县|