SQL语句全览:数据操作与定义
需积分: 0 197 浏览量
更新于2024-07-30
收藏 652KB PDF 举报
"这篇文档是关于SQL语句的全面总结,涵盖了数据操作、数据定义、数据控制、事务控制以及程序化SQL等多个方面的内容。"
在SQL(Structured Query Language)中,这些语句构成了数据库管理的基础。以下是每个标签的详细解释:
1. **数据操作**
- `SELECT`:用于从数据库中检索数据,可以指定特定的行和列,也可以进行筛选、排序、分组等操作。
- `INSERT`:用于向表中插入新的数据行,可以插入单行,也可以插入多行数据。
- `DELETE`:用于从表中删除数据行,可以根据特定条件删除。
- `UPDATE`:用于更新表中的数据,可以改变指定行或满足特定条件的行的数据。
2. **数据定义**
- `CREATE TABLE`:创建一个新的数据库表,定义表结构包括字段名、数据类型、约束等。
- `DROP TABLE`:删除已存在的数据库表。
- `ALTER TABLE`:修改已有表的结构,如添加、删除或修改列,更改约束等。
- `CREATE VIEW`:创建视图,是基于查询的结果集,可以视为虚拟表。
- `DROP VIEW`:删除视图。
- `CREATE INDEX`:为表创建索引,提高查询速度。
- `DROP INDEX`:删除已有的索引。
- `CREATE PROCEDURE`:创建存储过程,是一组预编译的SQL语句,可执行复杂的操作。
- `DROP PROCEDURE`:删除存储过程。
- `CREATE TRIGGER`:创建触发器,当满足特定条件时自动执行的SQL语句。
- `DROP TRIGGER`:删除触发器。
- `CREATE SCHEMA`:创建数据库模式,用于组织对象。
- `DROP SCHEMA`:删除数据库模式。
- `CREATE DOMAIN`:定义数据值域,即创建自定义的数据类型。
- `ALTER DOMAIN`:修改域定义。
- `DROP DOMAIN`:删除域。
3. **数据控制**
- `GRANT`:赋予用户访问数据库对象的权限。
- `DENY`:拒绝用户访问数据库对象。
- `REVOKE`:撤销已经赋予用户的访问权限。
4. **事务控制**
- `COMMIT`:提交事务,将事务中的所有更改保存到数据库。
- `ROLLBACK`:回滚事务,取消事务中的所有更改。
- `SET TRANSACTION`:设置事务的属性,如隔离级别、事务模式等。
5. **程序化SQL**
- `DECLARE`:声明变量,用于存储数据。
- `EXPLAIN`:分析查询计划,帮助优化查询性能。
- `OPEN`:打开游标,用于处理查询结果。
- `FETCH`:从游标中获取一行数据。
- `CLOSE`:关闭游标。
- `PREPARE`:准备SQL语句,用于动态执行。
- `EXECUTE`:执行已准备好的SQL语句。
- `DESCRIBE`:描述已准备好的查询结构。
6. **局部与全局变量**
- 局部变量以 `@` 开头,如 `@id`,只在当前批处理或存储过程中有效。
- 全局变量以 `@@` 开头,如 `@@identity`,在整个数据库会话中有效。
7. **流程控制**
- `IF...ELSE` 和 `ELSIF` 用于条件判断,根据条件执行不同的代码块。
- `CASE` 语句用于多条件判断,根据不同的条件分支执行相应的操作。
例如,`CASE` 语句在更新员工工资时,可以依据不同情况设置新的工资值。在`UPDATE`语句中,`CASE`表达式可以动态计算新的`e_wage`值,比如根据员工的部门、职级等因素进行调整。
了解并熟练掌握这些SQL语句,可以帮助你有效地管理和操作数据库,进行数据查询、更新、维护以及实现复杂的数据逻辑。
2024-09-06 上传
2010-07-11 上传
2010-10-29 上传
2024-11-19 上传
2024-11-19 上传
pt_grm
- 粉丝: 0
- 资源: 1
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析