MySql_笔记:
一、多表查询(联表):
- 笛卡尔积错误(交叉连接) - 两列数据,其中一列的每一行匹配另外一列的每一行,不能一一对应,产生重复匹配的错误,叫做笛卡儿积错误。
多表查询的分类:
1、等值连接/非等值连接
-
非等值连接的例子:
-
Select name_table.Employee_Name, name_table.Salary, Income_Level From name_table, level_table Where name_table.Salary > level_table.Floor_Level and name_table.Salary <= level_table.Upper_limit;
- Between A and B:解释等于A并且小于等于B。
2、自连接/非自连接
3、内连接/外连接
二、存储类型:
-
Binary:存储二进制。
-
Blob (二级制大对象):存储图片。需要注意的是,在实际工作中,往往不会在MySql数据库中使用Blob类型存储大对象数据,通常会将图片,音频和视频文件存储到服务器的磁盘上,并将图片,音频和视频的访问路径存储到MySql中。
三、约束:
3.1、约束目的:
为了四个完整性,对表中数据的限制。
- 实体完整性 ~
- 域完整性 ~
- 引用完整性 ~
- 用户自定义完整性 ~
3.2、约束的分类:
角度一:约束的字段的数量
- 单列约束 VS 多列约束
角度二:约束的作用范围
- 列级约束 VS 多列约束
角度三:约束的作用
- not null (非空约束)
- Unique (唯一性约束)
- primary (主键约束)
- foreign (外键约束)
- check (检查约束)
- default (默认值约束)
- …
3.3 如何添加约束:
- Create table 时添加约束
- Alter Table 时添加约束,删除约束
3.3.1 主键约束
相当于唯一约束 + 非空约束的组合