非空约束,其特点有:
不允许将该列的值有NULL记录;
只有列级约束的形式;
CREATE TABLE t10( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL UNIQUE KEY, email VARCHAR(30) NOT NULL UNIQUE KEY, telephONe VARCHAR(20) NOT NULL ); DESC t10;
-- 创建表时,添加非空约束 CREATE TABLE word07( id INT PRIMARY KEY, name VARCHAR(30) UNIQUE, age INT(3) DEFAULT 20, sex CHAR(3) NOT NULL, address VARCHAR(50), email VARCHAR(50) ); DESC word07; INSERT INTo word07(id,name,address,email) VALUES(101,'后羿','北京','houyi@163.com'); --错误
语法格式:
ALTER TABLE 表名 MODIFY 列名 数据类型 NOT NULL;
-- 修改word07表,对address列添加非空约束 ALTER TABLE word07 MODIFY address VARCHAR(50) NOT NULL; DESC word07;
-- 修改word07表,对email列添加非空约束 ALTER TABLE word07 MODIFY email VARCHAR(50) NOT NULL; DESC word07;
ALTER TABLE 表名 MODIFY 列名 数据类型;
-- 删除word07表中,sex列上的非空约束 ALTER TABLE word07 MODIFY sex CHAR(3); DESC word07;
-- 删除word07表中,email列上的非空约束 ALTER TABLE word07 MODIFY email VARCHAR(50); DESC word07;