- MySQL入門很輕松(微課超值版)
- 云尚科技
- 796字
- 2020-09-18 11:30:51
5.6 非空約束

非空性是指字段的值不能為空值(NULL),在MySQL數(shù)據(jù)庫(kù)中,定義為主鍵的列,系統(tǒng)強(qiáng)制為非空約束。一張表中可以設(shè)置多個(gè)非空約束,它主要是用來(lái)規(guī)定某一列必須要輸入值,有了非空約束,就可以避免表中出現(xiàn)空值了。
5.6.1 創(chuàng)建表時(shí)添加非空約束
非空約束通常都是在創(chuàng)建數(shù)據(jù)表時(shí)就創(chuàng)建了,創(chuàng)建非空約束的操作很簡(jiǎn)單,只需要在列后添加NOT NULL。對(duì)于設(shè)置了主鍵約束的列,就沒(méi)有必要設(shè)置非空約束了,添加非空約束的語(yǔ)法格式如下:

【實(shí)例15】在test數(shù)據(jù)庫(kù)中,定義數(shù)據(jù)表person_01,將名稱和出生年月列設(shè)置為非空約束。輸入如下SQL語(yǔ)句:

單擊“執(zhí)行”按鈕,即可完成創(chuàng)建非空約束的操作,如圖5-31所示。執(zhí)行完成后,使用“DESC person_01;”語(yǔ)句即可看到該數(shù)據(jù)表的結(jié)構(gòu),在其中可以查看添加的非空約束,如圖5-32所示。

圖5-31 執(zhí)行SQL語(yǔ)句

圖5-32 查看添加的非空約束
5.6.2 修改表時(shí)添加非空約束
當(dāng)創(chuàng)建好數(shù)據(jù)表后,也可以為其添加非空約束,具體的語(yǔ)法格式如下:
ALTER TABLE table_name MODIFY col_name datatype NOT NULL;
主要參數(shù)介紹如下。
- table_name:表名。
- col_name:列名,要為其添加非空約束的列名。
- datatype:列的數(shù)據(jù)類型,如果不修改數(shù)據(jù)類型,還要使用原來(lái)的數(shù)據(jù)類型。
- NOT NULL:非空約束的關(guān)鍵字。
【實(shí)例16】在現(xiàn)有person_01中,為remark字段添加非空約束。輸入以下SQL語(yǔ)句:
ALTER TABLE person_01 MODIFY remark VARCHAR(200) NOT NULL;
單擊“執(zhí)行”按鈕,即可完成添加非空約束的操作,如圖5-33所示。執(zhí)行完成后,使用“DESC person_01;”語(yǔ)句即可看到該數(shù)據(jù)表的結(jié)構(gòu),如圖5-34所示,可以看到字段remark添加了非空約束。

圖5-33 執(zhí)行SQL語(yǔ)句

圖5-34 查看添加的非空約束
5.6.3 刪除表中的非空約束
非空約束的刪除操作很簡(jiǎn)單,具體的語(yǔ)法格式如下:
ALTER TABLE table_name MODIFY col_name datatype;
【實(shí)例17】在現(xiàn)有person_01中,刪除員工姓名name列的非空約束。在“查詢編輯器”窗口中輸入如下SQL語(yǔ)句:
ALTER TABLE person_01 MODIFY name VARCHAR(20);
單擊“執(zhí)行”按鈕,即可完成刪除非空約束的操作,如圖5-35所示。
執(zhí)行完成后,使用“DESC person_01;”語(yǔ)句即可看到該數(shù)據(jù)表的結(jié)構(gòu),在其中可以查看員工姓名name列的非空約束被刪除,也就是說(shuō)該列允許為空值,如圖5-36所示。

圖5-35 刪除非空約束

圖5-36 查看刪除非空約束后的效果
- TypeScript入門與實(shí)戰(zhàn)
- Node.js Design Patterns
- Java EE框架整合開(kāi)發(fā)入門到實(shí)戰(zhàn):Spring+Spring MVC+MyBatis(微課版)
- SAP BusinessObjects Dashboards 4.1 Cookbook
- 硅谷Python工程師面試指南:數(shù)據(jù)結(jié)構(gòu)、算法與系統(tǒng)設(shè)計(jì)
- Android玩家必備
- 利用Python進(jìn)行數(shù)據(jù)分析
- 微信小程序開(kāi)發(fā)實(shí)戰(zhàn):設(shè)計(jì)·運(yùn)營(yíng)·變現(xiàn)(圖解案例版)
- INSTANT Apache Hive Essentials How-to
- Microsoft Exchange Server 2016 PowerShell Cookbook(Fourth Edition)
- UI動(dòng)效設(shè)計(jì)從入門到精通
- Visual FoxPro程序設(shè)計(jì)實(shí)驗(yàn)教程
- R語(yǔ)言:邁向大數(shù)據(jù)之路
- Unity與C++網(wǎng)絡(luò)游戲開(kāi)發(fā)實(shí)戰(zhàn):基于VR、AI與分布式架構(gòu)
- 微信小程序開(kāi)發(fā)圖解案例教程:附精講視頻(第3版)