Sql新手入门 ddl-dml-dql-dcl 01
Sql新手入门 01
前言
本篇大部分内容来自csdn
https://blog.csdn.net/m0_66570338/article/details/131730913
我对此进行修改-
0.Sql分类
SQL语句,根据其功能,主要分为四类:DDL、DML、DQL、DCL。
分类 全称 说明
DDL Data Definition Language 数据定义语言,用来定义数据库对象(数据库,表, 字段)
DML Data Manipulation Language 数据操作语言,用来对数据库表中的数据进行增删改
DQL Data Query Language 数据查询语言,用来查询数据库中表的记录
DCL Data Control Language 数据控制语言,用来创建数据库用户、控制数据库的访问权限
书写规则
1 | |
1.DDl语句
Data Definition Language,数据定义语言,用来定义数据库对象(数据库,表,字段)
1.数据库操作

2.表操作

2.表字段类型
数值类型、字符串类型、日期时间类型。
1.数值类型

2.日期和时间

3.字符串类型

3.Dml

4.Dql

0.条件查询

1.聚合函数查询
| 函数 | 功能 |
|---|---|
count |
统计数量 |
max |
最大值 |
min |
最小值 |
avg |
平均值 |
sum |
求和 |
2.分组查询
注意事项:
where与having区别
执行时机不同:where是分组之前进行过滤;having是分组之后对结果进行过滤。
判断条件不同:where不能对聚合函数进行判断,而having可以。执行顺序: where > 聚合函数 > having。
支持多字段分组, 具体语法为 : group by 分组字段名1,分组字段名2
- 查询年龄小于45的员工 , 并根据工作地址分组 , 获取员工数量大于等于3的工作地址
1 | |

3.排序查询
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式,字段2 排序方式;
排序方式类别
- ASC:升序(默认值)
- DESC: 降序
注意事项
- 如果是升序, 可以不指定排序方式ASC ;
- 如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序
根据年龄对公司的员工进行升序排序 , 年龄相同 , 再按照入职时间进行降序排序
1 | |
4.分页查询
SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;
起始索引从0开始,计算规则为:(查询页码 - 1)* 每页显示记录数。
如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。
查询第1页员工数据, 每页展示5条记录
1 | |
- 查询第2页员工数据, 每页展示10条记录 ——–> (页码-1)*页展示记录数
1 | |
疑问 分页插件做了什么
1 | |
5.复合使用

- DQL语句复合使用系统执行顺序为:
from ... where ... group by ... having ... select ... order by ... limit ...
1 | |
- 查询性别为男,且年龄在20-40 岁(含)以内的前5个员工信息,对查询的结果按年龄升序排序, 年龄相同按入职时间升序排序。
1 | |
6.Dcl

0.权限控制列表
| 权限 | 说明 |
|---|---|
ALL, ALL PRIVILEGES |
所有权限 |
SELECT |
查询数据 |
INSERT |
插入数据 |
UPDATE |
修改数据 |
DELETE |
删除数据 |
ALTER |
修改表 |
DROP |
删除数据库/表/视图 |
CREATE |
创建数据库/表 |