SQL基础:4种基本核心语句

章节内容:

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)	NOvarchar(50)	NOvarchar(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过滤条件保证数据安全

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值