SQL查询语句与函数完全指南
需积分: 4 147 浏览量
更新于2024-07-29
收藏 45KB DOC 举报
"这篇文档是关于SQL查询语句和函数的大全,涵盖了数据操作、数据定义、数据控制、事务控制以及程序化SQL等多个方面,旨在提供全面的SQL语法参考。"
在SQL(Structured Query Language)中,这些语句是进行数据库操作的基础。以下是各个类别中的主要知识点:
1. **数据操作**:
- **SELECT**:用于从数据库中检索数据,是最常用的SQL语句,可以筛选、排序、分组数据,并使用聚合函数如COUNT(), SUM(), AVG(), MAX(), MIN()等。
- **INSERT**:用于向表中插入新的数据行,可以插入单行或多行数据。
- **DELETE**:用于从表中删除满足特定条件的数据行。
- **UPDATE**:用于更新表中已存在的数据,常与WHERE子句结合使用来指定更新条件。
2. **数据定义**:
- **CREATE TABLE**:创建一个新的数据库表,定义列名、数据类型、约束等。
- **DROP TABLE**:删除已存在的表,所有相关数据都将丢失。
- **ALTER TABLE**:修改已有表的结构,如添加、删除或修改列,添加约束等。
- **CREATE VIEW**:创建视图,它是基于一个或多个表的虚拟表,只显示所需的数据。
- **DROP VIEW**:删除视图。
- **CREATE INDEX**:创建索引,提高查询速度,但会占用额外的存储空间。
- **DROP INDEX**:删除索引。
- **CREATE PROCEDURE**:创建存储过程,一组预编译的SQL语句,可重复使用。
- **DROP PROCEDURE**:删除存储过程。
- **CREATE TRIGGER**:创建触发器,当满足特定事件(如INSERT, UPDATE, DELETE)时自动执行的SQL代码。
- **DROP TRIGGER**:删除触发器。
- **CREATE SCHEMA**:创建数据库模式,组织数据库对象。
- **DROP SCHEMA**:删除模式。
- **CREATE DOMAIN**:创建数据值域,定义数据类型和约束。
- **ALTER DOMAIN**:更改域定义。
- **DROP DOMAIN**:删除域。
3. **数据控制**:
- **GRANT**:授权用户访问数据库对象的权限,如SELECT, INSERT, UPDATE, DELETE等。
- **DENY**:拒绝用户访问权限,优先级高于GRANT。
- **REVOKE**:撤销已经授予的权限。
4. **事务控制**:
- **COMMIT**:提交当前事务,将所有未提交的更改保存到数据库。
- **ROLLBACK**:回滚当前事务,撤销所有未提交的更改。
- **SET TRANSACTION**:设置事务的隔离级别和属性,如READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE。
5. **程序化SQL**:
- **DECLARE**:声明变量,用于存储和传递数据。
- **OPEN**,**FETCH**,**CLOSE**:游标操作,用于处理查询结果集,逐行获取数据。
- **PREPARE**:预编译SQL语句,提高执行效率。
- **EXECUTE**:执行预编译的SQL语句。
- **DESCRIBE**:描述预编译的查询的结构。
6. **局部和全局变量**:
- 局部变量以`@`符号开头,仅在声明它的批处理或存储过程中有效。
- 全局变量以双`@@`符号开头,其值在整个会话中有效。
7. **流程控制**:
- **IF...ELSE**:条件语句,根据条件执行不同的代码块。
- **CASE**:条件表达式,可以根据不同的条件返回不同的值。
这个文档对于学习和参考SQL语法非常有价值,无论是初学者还是经验丰富的开发人员,都能从中找到需要的信息。
2024-03-05 上传
2024-03-05 上传
2022-11-23 上传
2021-10-03 上传
2022-12-06 上传
2024-03-05 上传
2024-03-06 上传
2021-08-11 上传
2023-05-18 上传
liudefu520
- 粉丝: 0
- 资源: 1
最新资源
- 掌握压缩文件管理:2工作.zip文件使用指南
- 易语言动态版置入代码技术解析
- C语言编程实现电脑系统测试工具开发
- Wireshark 64位:全面网络协议分析器,支持Unix和Windows
- QtSingleApplication: 确保单一实例运行的高效库
- 深入了解Go语言的解析器组合器PARC
- Apycula包安装与使用指南
- AkerAutoSetup安装包使用指南
- Arduino Due实现VR耳机的设计与编程
- DependencySwizzler: Xamarin iOS 库实现故事板 UIViewControllers 依赖注入
- Apycula包发布说明与下载指南
- 创建可拖动交互式图表界面的ampersand-touch-charts
- CMake项目入门:创建简单的C++项目
- AksharaJaana-*.*.*.*安装包说明与下载
- Arduino天气时钟项目:源代码及DHT22库文件解析
- MediaPlayer_server:控制媒体播放器的高级服务器