亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

基于MySQL數據庫的數據約束實例及五種完整性約束介紹

2024-07-25 19:09:28
字體:
來源:轉載
供稿:網友

為了防止不符合規范的數據進入數據庫,在用戶對數據進行插入、修改、刪除等操作時,DBMS自動按照一定的約束條件對數據進行監測,使不符合規范的數據不能進入數據庫,以確保數據庫中存儲的數據正確、有效、相容。

#數據約束

#五種完整性約束:#NOT NULL :非空約束,指定某列不能為空;#UNIQUE : 唯一約束,指定某列或者幾列組合不能重復#PRIMARY KEY :主鍵,指定該列的值可以唯一地標識該列記錄#FOREIGN KEY :外鍵,指定該行記錄從屬于主表中的一條記錄,主要用于參照完整性#CHECK :檢查,指定一個布爾表達式,用于指定對應的值必須滿足該表達式(mysql不支持check約束)#--------------------------------NOT NULL 非空約束 ---------------------------create table test4(  #建立非空約束id int not null,name varchar(55) default 'ABCD' not null,#默認值就是nullage int null);#取消非空約束 alter table test4 modify name varchar(55) default 'ABCD' not null,#增加非空約束 alter table test4 modify age int not null;#--------------------------------UNIQUE : 唯一約束--------------------------------#列級約束語法建立約束 create table test_unique ( #建立行級唯一約束 id int not null unique, age int ); #表級約束語法格式 create table unique_test3 (test6_id int not null,test6_name varchar(255),test6_pass varchar(255),#使用表級約束語法建立唯一約束,指定test6_id和test6_name兩列組合不能重復constraint test6_unique unique(test6_id,test6_name),#使用表級約束語法建立唯一約束,約束名為test6_unique_2,test6_pass不能重復constraint test6_unique_2 unique(test6_pass) ); #add關鍵字增加唯一約束 alter table test4 add unique(id,name,age); #modify關鍵字刪除或者增加唯一約束 alter table test4 modify age varchar(255) not null; alter table test4 modify age varchar(255) not null unique; #對大部分數據庫而言,刪除約束使用: alter table 表名 drop constraint 約束名 #但是Mysql不采取此方式,而是: alter table 表名 drop index 約束名 #--------------------------------PRIMARY KEY : 主鍵約束-------------------------------- #主鍵約束相當于非空約束和唯一約束。 #每個表只允許擁有一個主鍵,但是這個主鍵可以由多個數據列組成,這些列組合不能重復 #標準SQL允許給主鍵自行命名,但是對于Mysql來說自己的名字沒有任何作用,總是默認名為PRIMARY create table primary_test (#使用列級語法建立主鍵約束test_id int primary key,test_name varchar(255) ); #使用表級語法建立主鍵約束 create table primary_test2 (test_id int not null,test_name varchar(255),test_pass varchar(255),#指定主鍵約束名為test2_pk,對大部分數據庫有效,但是對mysql無效,此主鍵約束名仍為PRIMARYconstraint test2_pk primary key (test_id) ); #以多列組合創立主鍵 create table primary_test3 (test_id int,test_name varchar(255),primary key(test_id,test_name) ); #使用列級約束語法 alter table primary_test3 modify test_id int primary key(); #使用表級約束語法 alter table primary_test3 add primary key(test_id,test_name); #刪除主鍵約束:alter table 表名 drop primary key; #主鍵列自增長特性:如果某個數據列的類型是整型,而且該列作為主鍵列,則可指定該列具有自增長功能 #mysql使用auto_increment來設置自增長,向該表插入記錄時可不為該列指定值,由系統生成  create table primary_test3 (//建立主鍵約束、設置自增長test_id int auto_increment primary key,test_name varchar(255) ); #外鍵約束 FOREIGN KEY #Mysql中只有表級語法建立的外鍵約束才可以生效 #為保證參照主表的存在,先建立主表 create table teacher_tb (t_id int auto_increment,t_name varchar(255),primary key(t_id) ); create table student_tb (s_id int auto_increment primary key,s_name varchar(255) not null,t_java int,foreign key(t_java) references teacher_tb(t_id) );#如果使用表級約束語法,則需要使用foreign key指定本表的外鍵列,如果創建外鍵約束時沒有指定約束名,#則mysql會為該外鍵約束命名為table_name_ibfk_n,其中table_name是從表的表名,n是從1開始的整數 create table teacher_tb2 (t_id int auto_increment,t_name varchar(255),primary key(t_id) ); create table student_tb2 (s_id int auto_increment primary key,s_name varchar(255) not null,t_java int,constraint student_teacher_fk foreign key(t_java) references teacher_tb2(t_id) ); #建立多列組合外鍵約束 create table teacher_tb5 (t_name varchar(255),t_pass varchar(255),primary key(t_name,t_pass) ); create table student_tb5 (s_id int auto_increment primary key,s_name varchar(255) not null,t_java_pass varchar(255),t_java_name varchar(255),foreign key(t_java_name,t_java_pass)   references teacher_tb5(t_name,t_pass) ); #刪除外鍵約束 alter table student_tb2 drop foreign key student_teacher_fk; #增加外鍵約束 alter table student_tb2 add foreign key(t_java) references teacher_tb2(t_id); #外鍵約束參照自身,自約束 create table foreign_test9 (foreign_id int auto_increment primary key,foreign_name varchar(255),refer_id int,foreign key(refer_id) references foreign_test9(foreign_id) ); #定義當刪除主表記錄時,從表記錄也隨之刪除 #on delete cascade 把參照該主表記錄的從表記錄全部級聯刪除 #on delete set null 把參照該主表記錄的從表記錄從表設為null        e create table teacher_tb8 (t_id int auto_increment,t_name varchar(255),primary key(t_id) ); create table student_tb8 (s_id int auto_increment primary key,s_name varchar(255) not null,t_java int,constraint student_teacher_fk foreign key(t_java) references teacher_tb8(t_id) on delete cascade );

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91国产视频在线| 亚洲人成亚洲人成在线观看| 97国产在线视频| 亚洲第一av在线| 国产精品久久91| 亚洲自拍偷拍第一页| 成人在线免费观看视视频| 超碰日本道色综合久久综合| 亚洲成人精品视频| 国产精品国产自产拍高清av水多| 成人精品久久av网站| 欧美极度另类性三渗透| 欧美激情乱人伦| 亚洲免费人成在线视频观看| 成人激情视频在线播放| 国产在线一区二区三区| 最近2019年好看中文字幕视频| 91精品国产综合久久香蕉922| 97超碰国产精品女人人人爽| 国产精品2018| 国产精品吴梦梦| 亚洲国产欧美一区二区三区久久| 亚洲美女激情视频| 91在线网站视频| 欧美日韩在线免费观看| 国产精品日韩在线观看| 亚洲高清一二三区| 另类美女黄大片| 国产精品亚洲欧美导航| 欧美xxxx18性欧美| 在线观看日韩专区| 中国china体内裑精亚洲片| 在线丨暗呦小u女国产精品| 97精品免费视频| 免费91在线视频| 亚洲在线观看视频网站| 国产日本欧美一区二区三区在线| 中文字幕在线观看日韩| 日韩一区av在线| 精品国产网站地址| 久久久久久18| 久久精品视频在线播放| 91情侣偷在线精品国产| 亚洲美女av在线播放| 亚洲国产精品系列| 日韩电影大全免费观看2023年上| 国产精品嫩草影院久久久| 在线播放日韩专区| 久久精品美女视频网站| 奇门遁甲1982国语版免费观看高清| 国产精品久久久久久久久影视| 午夜伦理精品一区| 国产免费一区二区三区香蕉精| 国产国产精品人在线视| 日韩三级成人av网| 久久久久久国产精品久久| 欧美成人午夜激情在线| 国内精品久久久久久中文字幕| 在线观看日韩专区| 久久久久国产精品免费| 国产精品白嫩美女在线观看| 欧美性xxxx在线播放| 亲爱的老师9免费观看全集电视剧| 日韩精品高清在线| 亚洲a区在线视频| 欧美黑人视频一区| 57pao成人国产永久免费| 97婷婷大伊香蕉精品视频| 欧美国产激情18| 亚洲影院色在线观看免费| 欧美成人国产va精品日本一级| 美日韩精品免费观看视频| 欧美xxxx14xxxxx性爽| 亚洲一区二区精品| 国产精品偷伦免费视频观看的| 中文字幕日韩欧美在线视频| 亚洲精品成人久久| 国产精品无av码在线观看| 日韩专区在线观看| 国产精品久久久久久久美男| 中文在线资源观看视频网站免费不卡| 精品中文字幕久久久久久| 色悠久久久久综合先锋影音下载| 97人人爽人人喊人人模波多| 美女扒开尿口让男人操亚洲视频网站| 日韩电影大全免费观看2023年上| 正在播放欧美视频| 亚洲国产成人精品久久久国产成人一区| www.亚洲人.com| 日韩av日韩在线观看| 国产狼人综合免费视频| 亚洲色无码播放| 久久久国产精彩视频美女艺术照福利| 亚洲第一中文字幕在线观看| 欧美日韩中文在线| 亚洲片国产一区一级在线观看| 日本三级韩国三级久久| 亚洲视频在线看| 免费不卡欧美自拍视频| 欧美成人精品一区二区三区| 成人h片在线播放免费网站| 国产日韩欧美电影在线观看| 亚洲一区二区在线播放| 2019精品视频| 久久天天躁日日躁| 国产日韩在线视频| 中文国产成人精品久久一| xxav国产精品美女主播| 亚洲美女黄色片| 欧美日韩中文字幕日韩欧美| 久久精品电影网| 国产日韩欧美在线播放| 欧美多人乱p欧美4p久久| 久久香蕉国产线看观看网| 久久亚洲精品毛片| 亚洲国产精品视频在线观看| 亚洲欧美在线第一页| 亚洲色图色老头| 日韩视频免费观看| 久久久久久久久久久久久久久久久久av| 亚洲欧洲av一区二区| 欧美韩国理论所午夜片917电影| 亚洲国产成人久久综合一区| 色悠久久久久综合先锋影音下载| 欧美一性一乱一交一视频| 国产精品视频永久免费播放| 久久久久久中文| 国内久久久精品| 久久精品夜夜夜夜夜久久| 国产精品一区久久久| 精品国产福利视频| 欧美一区二区三区免费视| 日韩av在线高清| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美性在线视频| 亚洲图片制服诱惑| 国产+成+人+亚洲欧洲| 国产亚洲福利一区| 欧美精品福利在线| 成人黄色大片在线免费观看| 91国在线精品国内播放| 亚洲一区国产精品| 热久久视久久精品18亚洲精品| 精品国产91乱高清在线观看| 一级做a爰片久久毛片美女图片| 国产成人综合亚洲| 国产精品va在线播放| 亚洲精品久久视频| 中文字幕亚洲二区| 国外日韩电影在线观看| 亚洲最大福利视频网站| 欧美高清自拍一区| 在线观看不卡av| 日韩免费在线播放| 黄色一区二区在线| 98精品国产高清在线xxxx天堂| 在线播放精品一区二区三区| 日韩精品视频中文在线观看| 狠狠久久五月精品中文字幕| 国产精品欧美风情| 欧美午夜片在线免费观看| 在线视频欧美日韩精品| 午夜精品一区二区三区在线视频| 日本精品久久久|