2.1 作用
2.2 关键字
NOT NULL
2.3 特点
- 默认,所有的类型的值都可以是NULL,包括INT、FLOAT等数据类型
- 非空约束只能出现在表对象的列上,只能某个列单独限定非空,不能组合非空
- 一个表可以有很多列都分别限定了非空
- 空字符串’’不等于NULL,0也不等于NULL
2.4 添加非空约束
(1)建表时
CREATE TABLE 表名称(字段名 数据类型,字段名 数据类型 NOT NULL,字段名 数据类型 NOT NULL);
举例:
CREATE TABLE emp(id INT(10) NOT NULL,NAME VARCHAR(20) NOT NULL,sex CHAR NULL);
CREATE TABLE student(sid int,sname varchar(20) not null,tel char(11) ,cardid char(18) not null);
insert into student values(1,'张三','13710011002','110222198912032545'); #成功insert into student values(2,'李四','13710011002',null);#身份证号为空ERROR 1048 (23000): Column 'cardid' cannot be nullinsert into student values(2,'李四',null,'110222198912032546');#成功,tel允许为空insert into student values(3,null,null,'110222198912032547');#失败ERROR 1048 (23000): Column 'sname' cannot be null
(2)建表后
alter table 表名称 modify 字段名 数据类型 not null;
举例:
ALTER TABLE empMODIFY sex VARCHAR(30) NOT NULL;
alter table student modify sname varchar(20) not null;
2.5 删除非空约束
alter table 表名称 modify 字段名 数据类型 NULL;#去掉not null,相当于修改某个非注解字段,该字段允许为空或alter table 表名称 modify 字段名 数据类型;#去掉not null,相当于修改某个非注解字段,该字段允许为空
举例:
ALTER TABLE empMODIFY sex VARCHAR(30) NULL;
ALTER TABLE empMODIFY NAME VARCHAR(15) DEFAULT 'abc' NULL;
