含义,限制表中的数据,保证表中的数据准确。
分类:六大约束
①not null:非空;
②default:默认值;
③primary key:主键;
④unique:唯一性,但是可以为空;
⑤check:检查约束(mysql不支持)
⑥foreign key:外键;
约束的分类:
①列级约束:
六大约束都可以,外键没有效果,约束不支持取名字
②表级约束:
除了非空,默认,其他都支持,约束支持取名字
语法:
『constraint 约束名』 约束类型(字段名)
例:
create table 表名(
字段名 字段类型 列级约束,
字段名 字段类型 列级约束,
表级约束
)
注意:
主键和唯一的大对比:
主键键:保证唯一,不为空,一个表中只有一个
唯一:保证唯一,可以空,一个表中可以多个
外键:
1,在从表设置外键关系
2, 从表外键的类型和主表的关联列的类型保持一致
3,主表的关联列必须是一个key(一般是主键或者唯一键)
4,插入时,先插入主表,在插入从表,
删除数据时,先删从表,再删主表;
二,修改表是添加约束
1,添加列级约束
alter table 表名 modify column 字段名 字段类型 新的约束;
2,添加表级约束
alter table 表名 add 『constraint 约束名』 约束类型(字段名) 【外键的引用】;
三,修改表时删除约束
1,删除默认约束
alter table 表名 modify column 列名 类型;
2,删除主键
alter table 表名 drop primary key;
3,删除唯一键
alter table 表名 drop index 【约束名】
4,删除外键
alter table 表名 drop foreign key 【约束名】
四,标识列
自增长列
关键字: auto_increment