非空约束 not null
唯一约束 unique
主键约束 primary key
表中记录的唯一标识,非空唯一,在一张表中只能有一个主键,(可以是一个列,也可以是多个列的组合)
1. 定义主键:
- 在创建表时直接定义主键 xx_xx char(4) primary key;
- 在创建表的最后单独定义 primary key(字段名);
2. 去掉主键约束
- alter table <tableName> drop primary key;
3. 添加表格主键约束
alter table <tabkeName> modify <cloumnName> char(4) primary key;-- 可以修改类型也可以不修改
- 主键自增长(auto_increment)
在表中没有合适的列作为主键,可以额外定义一个与数据无关的列作为主键 可以定义为id int 同时设置为自增长 -- id int primary auto_increment
注意:删除生成过的id,不会再生产第二次
- 联合主键
将数据表中的多列组合在一起设置为表的主键
定义: primary key (stu_num,course_id)
外键约束
在多表关联处查询
外键约束——将一个列添加外键约束与另一张表的主键进行关联后,这个外键约束的列添加的数据必须要在关联的主键字段中存在
案例:学生表 与 班级表 (在学生表中添加的外键与班级表的主键关联)
1. 先创建班级表
2. 创建学生表(在学生表中添加外键与班级表的主键关联)
-
方式一:constraint(声明) 外键名 foreign key(cid) refernces(与谁关联) classes(class_id)
-
方式二:先创建表,再添加约束 -- alter table students add constraint FK_STUDENTS_CALSSES foreign key(cid) references classes(class_id);
不然会报错 -
删除外键约束
alter table students drop foreign key 外键名;
级联操作