一、数据库约束
数据库的DDL 语句仅仅指定了一些列定义,这仅是数据表的基本功能。为了数据的完整性,统一性,数据库存在许多约束。
大部分数据库支持的5中完整性约束:
1、NOT NULL:非空约束。
2、UNIQUE:唯一约束。
3、PRIMARY KEY:主键,唯一标识该条记录,相当于id。
4、FOREIGN KEY:外键,指定该行记录从属于主表中的一条记录。
5、CHECK:检查,指定一个布尔表达式,用于指定对应列的值必须满足该表达式。
注:MySQL不支持CHECK约束,虽然仍可使用,但无任何作用(对5.6版mysql,更高版本未知)。
为数据表指定约束有如下两个时机:
1、建表同时为相应的数据列指定约束。
2、建表后创建,以修改表的方式增加约束。
注:MySQL使用information_schema数据库里的TABLE_CONSTRAINTS表保存该数据库实例中的所有约束信息,用户可查询此表查看约束信息。
二、5种约束简介
1、NOT NULL
指定此约束:
1)、建表时在列后面加not null即可;
2)、alter table时增加或删除(列后加null)非空约束,如:
alter table tableName modify columName1 datatype [default value] not null/null;
2、UNIQUE
UNIQUE约束的列不可