日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
MySQL數(shù)據(jù)庫(kù)約束類(lèi)型

數(shù)據(jù)庫(kù)中的約束,顧名思義即是對(duì)插入數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行限定,這么做的目的是為了保證數(shù)據(jù)的有效性和完整性。這樣就大幅度地提高了數(shù)據(jù)庫(kù)中數(shù)據(jù)的質(zhì)量,節(jié)省了數(shù)據(jù)庫(kù)的空間和調(diào)用數(shù)據(jù)的時(shí)間。

創(chuàng)新互聯(lián)專(zhuān)注于曹妃甸網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供曹妃甸營(yíng)銷(xiāo)型網(wǎng)站建設(shè),曹妃甸網(wǎng)站制作、曹妃甸網(wǎng)頁(yè)設(shè)計(jì)、曹妃甸網(wǎng)站官網(wǎng)定制、成都小程序開(kāi)發(fā)服務(wù),打造曹妃甸網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供曹妃甸網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。

1.NOT NULL: 非空約束,指定某列不能為空,只能作為列級(jí)約束使用,只能使用列級(jí)約束語(yǔ)法定義。

SQL中的null值,null不區(qū)分大小寫(xiě),具有如下特征:所有數(shù)據(jù)類(lèi)型的值都可以是null,包括int、float、boolean等??兆址坏扔趎ull,0也不等于null。建表時(shí)為指定列設(shè)置非空約束,只需在列定義后增加not null即可,例如:

create table t_test
(
   id int not null,
   name varchar(255) default 'xyz' not null,
   gender varchar(2) null
);

使用alter table修改表時(shí)增加或刪除非空約束,例如:

#增加非空約束
alter table t_test modify gender varchar(2) not null;
#取消非空約束
alter table t_test modify gender varchar(2) null;
#取消非空約束,并指定默認(rèn)值
alter table t_test modify name varchar(255) default 'abc' null;

2.UNIQUE: 唯一約束,指定某列或者幾列組合不能重復(fù)。

雖然唯一約束的列不可以出現(xiàn)重復(fù)值,但可以出現(xiàn)多個(gè)null值,因?yàn)樵跀?shù)據(jù)庫(kù)中null不等于null。同一個(gè)表內(nèi)可創(chuàng)建多個(gè)唯一約束,唯一約束也可有多列組合而成。 當(dāng)為某列創(chuàng)建唯一約束時(shí),MySQL會(huì)為該列創(chuàng)建唯一索引, 如果不給唯一約束起名,該唯一約束默認(rèn)與列名相同。唯一約束可以使用列級(jí)語(yǔ)法建立,也可以使用表級(jí)語(yǔ)法建立。 如果是為多列建立組合約束,或者需要為約束指定約束名,則只能使用表級(jí)語(yǔ)法。

使用列級(jí)語(yǔ)法建立唯一約束,只需要在列定義后增加unique關(guān)鍵字即可:

#創(chuàng)建表時(shí)建立唯一約束,使用列級(jí)語(yǔ)法建立
create table unique_test
(
   #建立非空約束,意味著id不能為null
   id int not null,
   #建立唯一約束,意味著多行數(shù)據(jù)的該列值不能相等
   name varchar(255) unique
);

表級(jí)語(yǔ)法創(chuàng)建唯一約束的格式:[constraint 約束名] unique (列名[,列名,…]),上面的表級(jí)約束語(yǔ)法格式既可以放在create table語(yǔ)句中與列定義并列,也可以放在alter table語(yǔ)句中使用add關(guān)鍵字添加:

#創(chuàng)建表時(shí),使用表級(jí)語(yǔ)法創(chuàng)建唯一約束
create table uniques_test2
(
   #為id建立非空約束,意味著id不能為null
   id int not null,
   name varchar(255),
   pass varchar(255),
   #使用表級(jí)語(yǔ)法為name建立唯一約束
   unique (name),
   #使用表級(jí)語(yǔ)法為pass建立唯一約束,并指定約束名為test2_uk
   constraint test2_uk unique (pass)
);

#創(chuàng)建表時(shí),使用表級(jí)語(yǔ)法建立組合列的唯一約束
create table unique_test3
(
   id int not null,
   name varchar(255),
   pass varchar(255),
   #指定name和pass兩列組合不能重復(fù)
   constraint test3_uk unique (name, pass)
);

#在修改表時(shí),使用add關(guān)鍵字來(lái)增加唯一約束
alter table unique_test3 add unique (id, name);
#在修改表時(shí),使用modify關(guān)鍵字,來(lái)為單列設(shè)置唯一約束
alter table unique_test3 modify name varchar(100) unique;

MySQL中刪除唯一約束:

alter table tableName drop index 約束名;
   例句:
#刪除unique_test3表中的test3_uk唯一約束
alter table unique_test3 drop index test3_uk;

3.PRIMARY KEY: 主鍵約束,指定該列的值可以唯一地標(biāo)識(shí)該條記錄。

4.FOREIGN KEY: 外鍵約束,指定該行記錄從屬于主表中的一條記錄,主要用于保證參照完整性。

5.CHECK(MySQL不支持): 檢查約束,指定一個(gè)布爾表達(dá)式,用于指定對(duì)應(yīng)列的值必須滿足該表達(dá)式。


本文名稱(chēng):MySQL數(shù)據(jù)庫(kù)約束類(lèi)型
標(biāo)題路徑:http://m.5511xx.com/article/cdcjcsg.html