文章目录
0 - 前言
本文是对【慕课网】平然老师【与MySQL零距离接触】系列课程的笔记
1 - 约束定义与分类
约束保证数据的完整性与一致性,分为表级约束与列级约束
- 表级约束:针对两个或两个以上字段(姓名、身高、年龄等)
- 列级约束:针对一个字段
按照约束类型又可划分为:
- NOT NULL(非空约束)
- PRIMARY KEY(主键约束)
- UNIQUE KEY(唯一约束)
- DEFAULT(默认约束)
- FOREIGN KEY(外键约束)
2 - 外键约束
2 - 1 创建外键
使用外键具有以下几点要求:
下面一步步满足要求:
1-2、首先要确认配置文件中是否将默认引擎设置为InnoDB,打开C盘中隐藏文件可见,进入ProgramData文件夹,在MySQL文件夹中找到对应的MySQL版本子文件夹进入,打开my.ini文件,如下:
直接创建,如下:
当前的父表是provinces,有外键的表(users)称为子表,子表所参照(REFERENCE)的表是父表
外键列就是子表中使用外键约束的子表字段,参照列就是子表参照的父表的字段
2 - 2 外键约束参照操作
所谓的参照操作就是,父表进行了更新,选择对子表的操作
这句话指的是,在父表中更新,在子表中同步更新。注意:在子表中插入记录之前,父表中一定要有对应的参照
3 修改数据表
不论是添加,还是删除,都属于修改数据表,都要alter’
3 - 1 添加/删除 列
添加单列
first表明添加的字段在已存在的所有字段之前,after表明添加的字段在已存在的所有字段之后;默认是after
添加多列
删除单列
删除多列的时候可以用逗号进行分隔
3 - 2 添加/删除 约束
添加主键约束
在创建数据表的时候可以声明主键约束,除此之外,还可以在创建表之后进行主键添加
constraint后面可以加入主键的别名
删除主键约束
添加唯一约束
删除唯一约束
index表示约束索引
添加外键约束
删除外键约束
添加默认约束
3 - 3 修改列与数据表
修改列定义
注意,大类型到小类型的改变可能会造成数据丢失
修改列名称
change关键字不仅可以用于修改列名称,还能用来修改列定义,功能上比modify更强大