非空约束
非空约束,其特点有:
不允许将该列的值有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;