概念:
约束是作用在表中列上的规则,用于限制加入表的数据
约束的存在保证了数据库中数据的正确性、有效性和完整性
分类:
约束名称 关键字 描述
非空约束 not null 保证列中所有数据不能有null
唯一约束 unique 保证列中所有数据各不相同
主键约束 primary key 主键是一行数据的唯一标识,要求非空且唯一
检查约束 check 保证列中的值满足某一条件
默认约束 default 保存数据时,未指定值则采用默认值
自增长 auto_increment 与主键一起用,用于主键自增长
格式:
字段名 类型 [约束关键字1 约束关键字2]
alter table 表名 nodify 字段名 数据类型 约束关键字1 约束关键字2;
注意:
default 修饰的字段可以被赋值 null
mysql不支持检查约束
外键约束:foreign key
概念:
外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性
添加外键约束:
1).创建表时添加:
create table 表名(
列名 数据类型,
列名 数据类型,
。。。
[constraint] [外键名称] foreign key(外键列名) references 主表(主表列名);
2). 建完表后添加:
alter table 表名 add constraint 外键名称 foreign key(外键字段名称)references 主表名称(主列表名称);
删除约束:
alter table 表名 drop foreign key 外键名称;
注意:
先添加主表的数据,在添加从表。
删除主表时,应先删除从表中与主表对应的数据。