为了保证数据的完整性(精确性与可靠性),SQL 规范以约束的方式对表数据进行额外的条件限制。
目录
约束的分类
从约束的字段个数来看:约束分为单列约束与多列约束
从约束的作用范围来看:约束分为列级约束(将此约束声明在对应字段的后面)和表级约束(在表中所有字段都声明完,在所有字段的后面声明的约束)
如何查看表中约束
SELECT * FROM information_schema.table_constraints
WHERE table_name = '表名';
非空约束的使用
作用
禁止字段为空
关键字
NOT NULL
特点
1. 默认,所有的类型的值都可以是 NULL,包括 INT、FLOAT 等数据类型
2. 非空约束只能出现在表对象的列上,只能某个列单独限制非空,不能组合非空
3. 一个表可以有很多列都分别限定了非空约束
4. 空字符串不等于 NULL,0 也不等于 NULL
添加非空约束
建表时添加
CREATE TABLE test(
id INT NOT NULL,
last_name VARCHAR(15) NOT NULL,
email VARCHAR(25),
salary DECIMAL(10,2)
);
修改表时添加
ALTER TABLE test
MODIFY email VARCHAR(25) NOT NULL;
删除约束
ALTER TABLE test
MODIFY email VARCHAR(25) NULL;