上传文件至 /
This commit is contained in:
24
数据库5.2.md
Normal file
24
数据库5.2.md
Normal file
@@ -0,0 +1,24 @@
|
||||
单表有条件查询
|
||||
# 一、概述
|
||||
1. 语法格式:```
|
||||
```sql
|
||||
SELECT [ALL|DISTINCT] 字段名(多个字段用逗号隔开)
|
||||
FROM 表名
|
||||
WHERE 条件表达式
|
||||
```
|
||||
2. 条件表达式中的运算符
|
||||
1. 比较运算符:=、<、>、<=、>=、<>、!=、!<、!>
|
||||
2. 范围运算符:between、and、not between、and
|
||||
3. 列表运算符:in、not in
|
||||
4. 字符匹配符:like、not like
|
||||
5. 空值:is null、is not null
|
||||
6. 逻辑运算符:and、or、not
|
||||
# 二、条件中表示数值范围
|
||||
1. 比较运算符+逻辑运算符
|
||||
2. 范围运算符(范围大推荐)
|
||||
3. 列表运算符
|
||||
# 三、条件中出现匹配条件
|
||||
1. 字符匹配符
|
||||
2. 通配符
|
||||
1. \_ 单个下划线:单个任意字符
|
||||
2. % 百分号:0个或多个任意字符
|
||||
20
数据库5.3.md
Normal file
20
数据库5.3.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# 一、聚合函数
|
||||
常用的聚合函数:
|
||||
1. count(\[ALL|DISTINCT]\*):统计元组数量
|
||||
2. count(\[ALL|DISTINCT] 字段名):统计指定字段值的个数
|
||||
3. sum(\[ALL|DISTINCT] 字段名):计算指定字段的值总和(此字段必須是數值型)
|
||||
4. avg(\[ALL|DISTINCT] 字段名):計算指定字段的平均值(此字段必須是數值型)
|
||||
5. max(\[ALL|DISTINCT] 字段名):求指定字段的最大值
|
||||
6. min(\[ALL|DISTINCT] 字段名):求指定字段的最小值
|
||||
# 二、分组查询
|
||||
```sql
|
||||
select 字段 from 表名
|
||||
[where 条件表达式]
|
||||
group by 字段名(分组)
|
||||
[having 条件表达式(筛选)]
|
||||
```
|
||||
# 三、排序查询
|
||||
```sql
|
||||
select 字段 from 表名
|
||||
order by 字段名 asc(升序,默认)|desc(降序)[,字段2.....];
|
||||
```
|
||||
26
数据库5.4.md
Normal file
26
数据库5.4.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# 一、连接查询的类型
|
||||
1. 交叉连接
|
||||
2. **内连接**(MySQL中常用)
|
||||
3. 左外连接
|
||||
4. 右外连接
|
||||
5. 全外连接
|
||||
# 二、内连接
|
||||
1. SQL标准中规定的语法(**重点**):
|
||||
```sql
|
||||
select 字段名
|
||||
from 表1,[inner] join 表2 on 连接条件表达式[······]
|
||||
[where 条件表达式];
|
||||
```
|
||||
2. 传统用法:
|
||||
```sql
|
||||
select 字段名
|
||||
from 表1, 表2[, ······]
|
||||
where 连接条件表达式;
|
||||
```
|
||||
# 三、左外连接
|
||||
语法:
|
||||
```sql
|
||||
select 字段名
|
||||
from 表1, left [outer] join 表2 on 连接条件表达式[······]
|
||||
[where 条件表达式];
|
||||
```
|
||||
25
数据库5.5.md
Normal file
25
数据库5.5.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# 一、子查询的定义
|
||||
|
||||
在 where、from、等子句中*嵌入*另一个完整的select查询,嵌入的查询就被称为**子查询**。where、from等子句所在的查询被称为**外部查询**或**主查询**。主、子查询在一起被称为**查询的嵌套**。
|
||||
# 二、比较运算符引导的子查询
|
||||
|
||||
语法:
|
||||
```sql
|
||||
select 字段名(多个字段用逗号隔开)
|
||||
from 表名
|
||||
where 条件表达式 比较运算符 (子查询);
|
||||
```
|
||||
# 三、in 或 exist 引导的子查询
|
||||
|
||||
语法:
|
||||
```sql
|
||||
select 字段名(多个字段用逗号隔开)
|
||||
from 表名
|
||||
where 条件表达式 [not] exists(子查询);
|
||||
```
|
||||
或者
|
||||
```sql
|
||||
select 字段名(多个字段用逗号隔开)
|
||||
from 表名
|
||||
where 条件表达式 [not] in(子查询);
|
||||
```
|
||||
36
数据库6.1.md
Normal file
36
数据库6.1.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# 一、索引的概念
|
||||
|
||||
1. 索引是一个*单独的、物理的* **数据库结构**
|
||||
2. 索引是*依赖于***表**建立的
|
||||
3. 索引是某个表中*一列*或*若干列*值的**集合**
|
||||
4. 索引可以**提高**数据的访问速度
|
||||
# 二、索引的分类
|
||||
|
||||
1. 普通索引:最基础的索引类型,作用于单列或多列(组合索引);
|
||||
仅用于加速数据检索,不强制要求列的唯一性,允许重复值和null值。
|
||||
2. 唯一性索引:列的值必须唯一,但允许有空值,关键字为unique
|
||||
3. 全文索引:主要用在查询数据库量较大的字符型字段上,关键词为fulltext
|
||||
4. 空间索引:是对空间数据类型的字段建立的,关键字为spatial
|
||||
5. 单列索引:即一个索引只包含单个列,一个表可以有多个单列索引
|
||||
6. 多列索引:就是在多个字段上创建一个索引,也成为复合索引
|
||||
# 三、索引的创建
|
||||
|
||||
1. 创建表的同时去创建索引
|
||||
2. 修改表的同时去创建索引
|
||||
```sql
|
||||
alter table 表名
|
||||
add index 索引名(列名)
|
||||
```
|
||||
1. 直接创建索引(重点)
|
||||
```sql
|
||||
create [unique|fulltext|spatial] index 索引名称
|
||||
[using {btree|hash}]
|
||||
on 表名(列名[(n)][asc|desc],.....)
|
||||
```
|
||||
# 四、索引的设计原则
|
||||
1. 主键、连接中频繁使用的列需要建立索引;
|
||||
2. 避免对经常更新的表进行过多的索引;
|
||||
3. 数据量小的表最好不要使用索引;
|
||||
4. 在不同值少的列上不要建立索引;
|
||||
5. 指定唯一索引是由某种数据本身的特征来决定的;
|
||||
6. 为经常需要排序、分组和联合操作的字段建立索引。
|
||||
Reference in New Issue
Block a user