91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL數據庫約束類型有哪些

發布時間:2022-02-16 09:41:02 來源:億速云 閱讀:559 作者:iii 欄目:開發技術

這篇文章主要介紹了MySQL數據庫約束類型有哪些的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇MySQL數據庫約束類型有哪些文章都會有所收獲,下面我們一起來看看吧。

數據庫中的約束,顧名思義即是對插入數據庫中的數據進行限定,這么做的目的是為了保證數據的有效性和完整性。這樣就大幅度地提高了數據庫中數據的質量,節省了數據庫的空間和調用數據的時間。

MySQL數據庫約束類型有哪些

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

SQL中的null值,null不區分大小寫,具有如下特征:所有數據類型的值都可以是null,包括int、float、boolean等。空字符串不等于null,0也不等于null。建表時為指定列設置非空約束,只需在列定義后增加not null即可,例如:

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

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

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

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

雖然唯一約束的列不可以出現重復值,但可以出現多個null值,因為在數據庫中null不等于null。同一個表內可創建多個唯一約束,唯一約束也可有多列組合而成。 當為某列創建唯一約束時,MySQL會為該列創建唯一索引, 如果不給唯一約束起名,該唯一約束默認與列名相同。唯一約束可以使用列級語法建立,也可以使用表級語法建立。 如果是為多列建立組合約束,或者需要為約束指定約束名,則只能使用表級語法。

使用列級語法建立唯一約束,只需要在列定義后增加unique關鍵字即可:

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

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

#創建表時,使用表級語法創建唯一約束create table uniques_test2
(
   #為id建立非空約束,意味著id不能為null   id int not null,
   name varchar(255),
   pass varchar(255),
   #使用表級語法為name建立唯一約束   unique (name),
   #使用表級語法為pass建立唯一約束,并指定約束名為test2_uk   constraint test2_uk unique (pass)
);#創建表時,使用表級語法建立組合列的唯一約束create table unique_test3
(
   id int not null,
   name varchar(255),
   pass varchar(255),
   #指定name和pass兩列組合不能重復   constraint test3_uk unique (name, pass)
);#在修改表時,使用add關鍵字來增加唯一約束alter table unique_test3 add unique (id, name);#在修改表時,使用modify關鍵字,來為單列設置唯一約束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: 主鍵約束,指定該列的值可以唯一地標識該條記錄。

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

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

關于“MySQL數據庫約束類型有哪些”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“MySQL數據庫約束類型有哪些”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴林左旗| 周宁县| 新疆| 同江市| 湖州市| 霸州市| 津南区| 禄劝| 海南省| 汝城县| 闸北区| 梅河口市| 格尔木市| 四会市| 屏东县| 象山县| 遵义市| 鄂温| 河北省| 新建县| 咸宁市| 汝阳县| 娄底市| 邛崃市| 黔西县| 琼结县| 丁青县| 吉首市| 临海市| 和硕县| 南江县| 衢州市| 山阳县| 文登市| 稷山县| 中方县| 达拉特旗| 北川| 公主岭市| 合作市| 龙泉市|