官术网_书友最值得收藏!

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 ;
主站蜘蛛池模板: 清新县| 通江县| 拉孜县| 镇原县| 巩义市| 易门县| 朝阳县| 龙海市| 大新县| 南郑县| 平山县| 泰顺县| 湛江市| 岳阳市| 濉溪县| 彰武县| 木兰县| 长子县| 明星| 交城县| 霍城县| 纳雍县| 灵山县| 平原县| 乌拉特前旗| 烟台市| 大石桥市| 柳州市| 平潭县| 买车| 德阳市| 鹤壁市| 南投县| 确山县| 通州区| 莲花县| 梓潼县| 阿勒泰市| 武穴市| 景东| 柳江县|