数据库约束
1:约束类型:
约束类型 | 约束方式 |
NOT NULL | 指示某列不能存储NULL值 |
UNIQUE | 保证某列的每行必须有唯一值 |
DEFAULT | 规定没有给列赋值时的默认值 |
PRIMARAY KEY | NOT NULL和UNIQUE的结合(指定某列不能为null值,并且此列的每一行的值都是唯一的),确保某一列(或多列)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。 |
FOREIGN KEY | 保证一个表中的数据匹配另一个表中的值的参照完整性 |
CHECK | 保证列中的值符合指定的条件。(对于MySQL数据库,对CHECK子句进行分析,但是忽略CHECK语句) |
NOT NULL :指示某列不能储存NULL值,即某列不为空;
使用:
如果在增加数据时,第一列为NULL,就会报错
UNIQUE :保证某列的每行必须有唯一的值;
这时表中已经有一个name为李数据信息,倘若此时再添加一个name为李的数据,就会报错
DEFAULT:规定没有给列赋值时的默认值;
使用方法:
当name列没有赋值时,使用默认值unkown。
PRIMARY KEY:主键约束某列不能存储空值且唯一(NOT NULL和UNIQUE的结合)确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速的找到表中的一个特定记录。(因为是主键,可以理解为其他表连接此表的接口,所以不能存储空值,这样接口就不存在了,也必须唯一,只有唯一,其他表才能找到此接口)
对于整数类型的主键,常配搭自增长auto_increment来使用。插入数据对应字段不给值时,使用最大值+1。
FOREIGN KEY:(外键约束)外键用于关联其他表的主键或唯一键,保证一个表中的数据匹配与另一个表中的值的参照完整性。
foreign key (字段名) reference 主表(列)
创建班级表,id 为主键:
创建学生表student,一个学生对应一个班级,一个班级对应多个学生。使用id为主键,
classes_id为外键,关联班级表id
在两个表中插入数据
CHECK:(忽略)保证列中的值符合指定条件。(MySQL数据库对CHECK子句进行分析,但是忽略CHECK语句)