※primary key 主键
日常开发中最常使用的约束!也是最重要的约束
- 主键约束,是not null 与 unique 的结合,确保某列的每行的赋值不能为null 并且是唯一的
- 主键约束,相当于数据的唯一身份标识,类似身份证号码。
- 创建表的时候,很多时候都需要指定的主键。
a) 描述: 一条记录的唯一身份标识,一张表中只能有一列,primary key 不能为空,也不能重复,即
primary key =not null + unique.
auto_increment 自增
b) 主键的另一种用法: 自增主键(每次加1),允许为空.
primary key auto_increment
自增主键
自增特点:
- 如果表中没有记录,自增从一开始
- 如果有数据,从上一条记录往下自增
- 插入再删掉数据,自增的值不会重复利用,会按删掉的那条开始自增
问:
如果删除id=101的一行数据,下次自增的值是多少?
下次自增102
foreign key 外键
外键约束
,保证一个表中的数据匹配另一个表中的值
参照完整性.- 一般习惯放到最后
外键约束会影响表的删除
外键,描述的是 两个表之间的关联关系,表1 里的数据 必须在 表2 中存在
注意:
- **设置的外键必须是 另一个表的主键 **
- 插入的外键的值,如果另一张表中不存在,是不能插入的.
外键约束举例:
- 1 . 建立班级表
- 2 . 建立外键约束
- 3 . 查看表结构
- 4 . 插入数据
上面所讲的都是针对子表的操作,下面我们来针对一下父表的操作
为什么要针对父表进行操作 ?
是因为
外键约束同样也在约束父表
。
外键的工作原理
拓展 购物软件中商品表和订单表结构
check(了解)
- 作为了解,类似java中的枚举,保证列中的值符合指定的条件
- MySQL使用时不报错,但忽略该约束: