文章目录
- 章节内容:
- 学习目标:
- SQL核心语句按功能分类:
- SQL核心语句构成及执行顺序
- 4种基本SQL核心语句
章节内容:
1.数据查询与过滤
2.数据聚合
3.表间连接
4.数据的增、改、删学习目标:
掌握SQL常用语句,熟练调用数据库中的数据解决问题
SQL核心语句按功能分类:
- 检索数据:SELECT FROM
- 筛选数据:WHERE / HAVING
- 数据分组:GROUP BY
- 汇总函数:聚合函数
- 数据排序:ORDER BY
- 数据选取:LIMIT
SQL核心语句构成及执行顺序
SELECT [DISTINCT]
[列名],[聚合函数 AS <列名>]
FROM <表名>
[WHERE [<过滤条件>]
[GROUP BY <聚合类别列名>]
[HAVING <过滤条件>]
[ORDER BY<列名>(ASC|DESC) # 按照某一字段,升序或者降序排列]
[LIMIT <行数>]
# 执行顺序:
FROM > WHERE > GROUP BY > HAVING > SELECT(聚合函数) > ORDER BY > LIMIT
4种基本SQL核心语句
数据查询与过滤
数据查询:
- 基本查询过滤语句:SELECT <列名> FROM <表名>
数据过滤
基于条件过滤语句:WHERE <列名> 运算符 值 [AND / OR / NOT ] 列 运算符 值
查询结果处理
- 查询结果排序:OEDER BY <列名> [ASC | DESC]
- 选取指定查询结果:LIMIT 常与 ORDER BY一起使用
- 查询结果去重:SELECT DISTINCT <列名> FROM <表名>
数据聚合
数据聚合语法
- SELECT<聚合类别>,<聚合函数()> FROM <表名称>
- GROUP BY<聚合类别>
常用聚合函数:
- COUNT(l列名):返回指定列中的行数(不包括NULL)
- COUNT(l*):返回指定列中的行数(包括NULL)
- SUM(列名):返回指定数值列中的总数(不包括NULL)
- AVG(列名):返回指定数值列中的平均值(不包括NULL)
- MIN/MAX(列名):返回指定列中的最小/最大值(不包括NULL)
聚合结果过滤:
- 使用HAVING以及过滤条件过滤聚合结果
聚合结果排序与选取:
- 使用ORDER BY 与 LIMIT
表间连接
- 等值连接:INNER JOIN - 返回在左表又在右表的的键值得对应数据航
- 左连接:LEFT JOIN - 返回左表所有数据行以及右表对应键值数据行
- 右连接:RIGHT JOIN - 返回右表所有数据行以及左表对应键值数据行
# 表间基本语法
SELECT<列名> FROM <左表名>
[INNER/ LEFT /RIGHT] JOIN <右表名>
ON <左表键值列名> = <右表键值列名>
数据的增改删
列出数据表的信息:
# 列出数据表的信息:
DESCRIBE 表名
_________________
顾客号码 int(11) NO
姓 varchar(50) NO
名 varchar(50) NO
城市 varchar(125) YES
省份 varchar(125) YES
电话 varchar(125) YES
# 结果显示:1.数据表的字段(列);2.各个字段的数据类型
增加数据行:
如何向表中增加新的记录?
- 新记录的字段与表中原记录的个数、数据类型都要相同
- 新记录的主键(eg:顾客号码)值不能与表中存在的任意主键值相同
# 增加数据行
INSERT INTO 表名(字段名)VALUES(新记录的字段值
————————————————————————————————————————————————————————
# 示例
INSERT INTO `顾客信息`(`顾客号码`,`姓`,`名`,`城市`,`省份`,`电话`)VALUES
(92,'王','光明','长春市','吉林省',13812455432)
# 查询插入的数据表记录是否插入到数据表中
SELECT *
FROM `顾客信息`
WHERE `顾客号码` = 92
修改指定数据行的字段值:
# 修改指定数据行的字段值
UPDATE 表名 SET 字段名 = 字段值[ WHERE 过滤条件]
————————————————————————————————————————————————————————————
# 第一步:找到需要修改的记录(行),目的避免误操作修改不该修改的记录
SELECT * FROM `顾客信息` WHERE `顾客号码` = 92
# 第二步:对满足条件的表记录进行修改
## 使用UPDATE SET 和 WHERE 子句实现
## 修改语句可用于修改一条/多条记录
## 新值的数据类型必须与表中定义好的数据类型保持一致;
————————————————————————————————————————————————————————————
# 修改指定数据行的字段值
UPDATE `顾客信息`
SET `电话` = 13700000000
WHERE `顾客号码` = 92
# 使用SELECT 和 WHERE 语句确定修改完成
SELECT *
FROM `顾客信息`
WHERE `顾客号码` = 92
删除指定数据行:
DELETE FROM 表名 [WHERE 过滤条件 ]
————————————————————————————————
# 删除指定数据行#
## 使用DELETE FROM 和 WHERE子句实现
## 删除语句可用于一条/多条记录;
## 删除后使用过滤语句获得的结果为空
————————————————————————————————
## 确认要删除的是目标记录,避免误操作
SELECT *
FROM `顾客信息`
WHERE `顾客号码` = 92
DELETE FROM `顾客信息`
WHERE `顾客号码` = 92
## 可以使用SELECT和 WHERE语句确定删除完成
SELECT *
FROM `顾客信息`
WHERE `顾客号码` = 92
【注意】:修改和删除语句一定要附带WHERE过滤条件保证数据安全
更多推荐
SQL基础:4种基本核心语句
发布评论