書名: MySQL數據庫管理與開發實踐教程 (清華電腦學堂)作者名: 程朝斌本章字數: 618字更新時間: 2021-03-19 18:16:54
4.4 非空約束
非空約束是最簡單的約束,用來限制數據填寫的完整性。被設置了非空約束的字段,在添加數據時必須要有數據,不能夠省略。
非空約束使用NOT NULL語句,而允許為空的字段可以使用NULL關鍵字。本節介紹非空約束的使用。
4.4.1 創建非空約束
非空約束限制該字段中的內容不能為空,但可以是空白字符串或0。非空約束與其他約束都用來限制數據,但其作用和使用方式大不相同。一個表只能夠設置一個主鍵(或主鍵組),但非空約束不受限制,而且每個字段的非空約束之間互不影響。
對于字段來說,要么允許添加數據為空;要么不允許添加數據為空。因此對于字段是否非空只有兩種可能。
與其他約束不同的是,無論字段是否為空,都需要在創建時指出。若允許為空則使用NULL;否則使用NOT NULL來定義。如范例6創建ftype表時,第一個字段使用NOT NULL來定義,剩下的字段使用NULL來定義。
非空約束的創建、修改都可以使用MySQL Workbench來完成,其操作方法和表的創建和修改的方法一樣,這里不再詳細介紹。
而使用SQL語句創建非空約束,只是在字段的數據類型之后添加NOT NULL;否則使用NULL來定義允許為空的字段。這里不再詳細介紹。
4.4.2 修改非空約束
非空約束是沒有刪除操作的,若字段不再需要進行非空約束,只需要將其設置為允許為空即可。而非空約束的修改只是將字段在NOT NULL和NULL這兩種狀態之間進行切換。
對非空約束的修改與對字段類型的修改方法一樣,如修改fruitshop.fruits表的fname字段為非空約束字段,代碼如下。
ALTER TABLE 'fruitshop'.'fruits' CHANGE COLUMN 'fname' 'fname' VARCHAR(45) NOT NULL ;
而修改fruitshop.fruits表的fname字段為允許為空的字段,代碼如下。
ALTER TABLE 'fruitshop'.'fruits' CHANGE COLUMN 'fname' 'fname' VARCHAR(45) NULL ;
推薦閱讀
- 微服務設計(第2版)
- Clojure Programming Cookbook
- Practical Data Science Cookbook(Second Edition)
- Web交互界面設計與制作(微課版)
- Clojure for Domain:specific Languages
- NGINX Cookbook
- Extending Unity with Editor Scripting
- Natural Language Processing with Python Quick Start Guide
- Android Studio Cookbook
- Learning Ionic
- Professional JavaScript
- Web前端開發精品課:HTML5 Canvas開發詳解
- Ajax與jQuery程序設計
- 面向對象程序設計及C++實驗指導(第3版)
- 代碼揭秘