SQL单表操作详解:增删改查与聚合函数
需积分: 9 105 浏览量
更新于2024-09-08
收藏 424KB PDF 举报
"这篇文档是关于SQL语法的总结,主要关注单表操作,包括查询语句中的关键子句顺序、基本SQL语法(增删改查)、分组、排序、聚合函数以及分页查询。"
在SQL语言中,单表操作是数据库管理的基础,本文档详细阐述了这些操作的关键概念和语法。
1. 查询语句的关键字顺序和执行顺序:
- **书写顺序**:SELECT -> FROM -> WHERE -> GROUP BY -> HAVING -> ORDER BY
- **执行顺序**:FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY
- `FROM`确定查询数据的来源,`WHERE`用于筛选满足条件的行,`GROUP BY`进行数据分组,`HAVING`对分组后的数据进行过滤,`SELECT`选择展示的列,最后`ORDER BY`对结果进行排序。
- `WHERE`和`HAVING`的区别在于,`WHERE`在分组前过滤数据,而`HAVING`在分组后过滤。
2. **基本SQL语法**:
- **插入(INSERT)**:向表中插入新记录。如`INSERT INTO 表名(列1, 列2) VALUES(值1, 值2);`
- **删除(DELETE)**:删除表中的记录。如`DELETE FROM 表名 WHERE 条件;`,无条件将删除所有记录。
- **更新(UPDATE)**:修改表中的数据。如`UPDATE 表名 SET 列1 = 值1, 列2 = 值2 WHERE 条件;`,无条件将更新所有记录。
- **查询(SELECT)**:获取数据。如`SELECT 列1, 列2 FROM 表名 WHERE 条件;`,可以使用`AS`定义别名,`DISTINCT`去除重复项,对列进行运算。
3. **排序、分组、聚合函数和分页查询**:
- **排序(ORDER BY)**:按列进行升序(ASC,默认)或降序(DESC)排序,如`SELECT 列名 FROM 表名 ORDER BY 排序字段 ASC|DESC;`
- **分组(GROUP BY)**:对数据进行横向分组,常与聚合函数配合使用,如`SELECT 列名 FROM 表名 GROUP BY 分组字段;`
- **聚合函数**:如COUNT(), SUM(), AVG(), MAX(), MIN()等,用于对一组值进行计算并返回单一值。
- **分页查询(LIMIT or OFFSET)**:在MySQL中通常使用`LIMIT`和`OFFSET`来实现分页,例如`SELECT * FROM 表名 LIMIT 页大小 OFFSET (当前页-1) * 页大小;`
以上是SQL单表操作的核心知识点,掌握这些内容能帮助用户有效地处理和查询单个表的数据。对于更复杂的多表操作,通常涉及JOIN、子查询等高级技术,这些将在后续的文档中进行分享。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2012-02-09 上传
2021-01-20 上传
537 浏览量
2020-11-26 上传
Joker_MikeLi
- 粉丝: 3
- 资源: 1
最新资源
- NetDocuments-crx插件
- 更丰富:TypeScript后端框架专注于开发效率,使用专用的反射库来帮助您愉快地创建健壮,安全和快速的API
- bianma.rar_Java编程_Java_
- 简单的editActionsForRowAt功能,写在SWIFTUI上-Swift开发
- 反弹:抛出异常时立即获取堆栈溢出结果的命令行工具
- zap-android:专注于用户体验和易用性的原生android闪电钱包:high_voltage:
- Doc:文献资料
- KobayashiFumiaki
- naapurivahti:赫尔辛基大学课程数据库应用程序项目
- Cura:在Uranium框架之上构建的3D打印机切片GUI
- SwiftUI中的倒计时影片混乱-Swift开发
- Example10.rar_串口编程_Visual_C++_
- GeraIFRelatorio:GeraIFRelatorio项目-自动化以帮助在Eclipse引擎上开发的Cobol语言项目编码
- CyberArk Identity Browser Extension-crx插件
- 智能汽车竞赛:完全模型组学习软件资源
- 键盘:在Windows和Linux上挂钩并模拟全局键盘事件