约束
含义:一种限制,用来限制表中的数据,为了保证数据的可靠性和准确性
create table 表名(
字段名 字段类型 约束
)
1、not null:非空,用来保证该字段对应的值不能为空(姓名、学号)
2、 default:默认约束,用来保证该字段有默认值(性别)
3、 primary key:主键约束,用来保证该字段的值具有唯一性,并且非空(员工编号)
4、 unique:唯一约束,用来保证该字段的值具有唯一性,对应的值能为空(座位号)
5、 check:检查约束,【mysql不支持check约束】(性别)
6、 foreign key:外键约束,用来限制两个表的关系
要有保证两表连接的字段
用来保证该字段的值必须来自于主表的关联列
create table 表名(
字段名1 字段类型 列级约束,
字段名2 字段类型 列级约束,
表级约束
)
添加约束的时机:
1.创建表时
2.修改表时
约束的分类:
列级约束:支持六大约束,外键约束没有效果
表级约束:除了非空和默认约束以外,其他都支持
1.1创建表时添加约束:
1)列级约束:直接在字段名和类型后面追加约束类型; 支持默认,非空,唯一,主键
2)表级约束:在所有字段的最后面
语法:constraint 约束名 约束类型(字段)
2.1修改表时添加约束:
1)列级约束:
语法:alter table 表名 modify column 字段 字段类型 新约束;
2)表级约束:
语法:alter table 表名 add 新约束(字段);
3.1修改表时添加约束
列级约束:
删除非空约束:
ALTER TABLE 表名 MODIFY COLUMN 列名 字段类型 不写约束或者null;
删除主键约束:
alter table 表名 drop primary key;