2.6.2 唯一约束 unique
限定某一字段的字段值不能有重复
创建表时,添加唯一约束
create table 表名(字段名 字段类型 unique, 字段名 字段类型 [约束], ...);
创建表后,添加唯一约束
alter table 表名 modify 字段名 字段类型 unique;
删除唯一约束(设置字段允许有重复值)
alter table 表名 drop index 字 段名;
注:
唯一约束的值可以是空值,可以存在多个空值,但是只能有唯一的“null”值
一个字段可以同时设置成非空唯一,非空和唯一约束的顺序是任意的
2.6.3 主键约束 primary key
特点:
1. 非空且唯一
一张表只能有一个字段是主键
主键是表中记录的唯一标识
创建表时,添加主键约束
create table 表名(字段名 字段类型 primary key, 字段名 字段类型 [约束], ...);
create table 表名(字段名 字段类型 [约束], 字段名 字段类型 [约束], ... , primary key(主键字段));
创建表后,添加主键约束
alter table 表名 modify 字段名 字段类型 primary key;
删除主键
alter table 表名 drop primary key;
注意:删除主键约束后,主键仍有非空约束
主键自增长:
概念:如果某个字段是数值类型的主键字段,可以使用 auto_increment 来实现主键自增长
注:
1. 自增长的主键必须是数值类型的(整数或者小数)
2.当添加记录时,不为该字段赋值或者赋值为null,该字段就会自增长
3.第一条自增长的字段值是 1
4.从已存在的最大值开始 + 1
5.从已存在的最大值是小数时,自增长的值是向上取整
6.只有主键可以自增长
创建表时,添加主键自增长
create table 表名 (字段名 字段类型 primary key auto_increment, 字段名 字段类型 [约束], ...);
创建表后,添加主键自增长
alter table 表名 modify 主键字段 字段类型 auto_increment;
创建表后,添加主键约束的同时,设置自增长
alter table 表名 modify 字段名 字段类型 primary key auto_increment
删除自增长
alter table 表名 modify 字段名 字段类型;
三,多表
3.1 表与表之间的关系
一对一
例如:人和身份证、公司与注册地址
一对多(多对一)
例如:部门和员工、商品和分类
多对多
例如:学生和课程、订单和商品
3.2 多表关系的实现
一对一
在任何一方添加外键指向另一方法的主键
一对多
在多的一方建立外键,指向一的一方的主键
多对多
需要借助第三张中间表。中间表至少要包含两个字段,这两个字段都是外键,分别指向两张表的主键。