### Oracle PL/SQL 编程手册(SQL大全)关键知识点解析 #### 一、SQL PLUS 命令与关键字 在《Oracle PL/SQL 编程手册(SQL大全)》文档中,首先介绍了 SQL*PLUS 工具的基本使用方法,包括 SQL 语句的关键字以及 SQL*PLUS 的专有命令。 ##### 1.1 SQL 关键字 文档中列举了作为语句开头的 17 个关键字: - **ALTER**:用于修改数据库对象。 - **DROP**:用于删除数据库对象。 - **REVOKE**:用于撤销权限。 - **AUDIT**:用于审计特定操作。 - **GRANT**:用于授予权限。 - **ROLLBACK**:用于撤销事务中的更改。(* 表示此命令执行后不需要分号结束,也不会保存到 SQL 缓存区) - **COMMIT**:用于提交事务更改。(* 同上) - **INSERT**:用于插入数据到表中。 - **SELECT**:用于查询数据。 - **COMMENT**:用于添加注释。 - **LOCK**:用于锁定数据库对象。 - **UPDATE**:用于更新数据。 - **CREATE**:用于创建数据库对象。 - **NOAUDIT**:用于取消审计。 - **VALIDATE**:用于验证对象。 - **DELETE**:用于删除数据。 - **RENAME**:用于重命名对象。 这些命令都必须以分号(;)结尾,除非特别注明。 ##### 1.2 SQL*PLUS 命令 文档还提到了一些 SQL 中没有的 SQL*PLUS 特有命令,这些命令不会被保存到 SQL 缓存区,包括但不限于: - **@**:用于运行存储在文件中的 SQL 脚本。 - **DEFINE**:用于定义变量。 - **PAUSE**:暂停脚本执行,等待用户输入。 - **#**:用于注释。 - **DEL**:删除 SQL 缓存区中的命令。 - **QUIT**:退出 SQL*PLUS。 - **ACCEPT**:接收用户输入。 - **APPEND**:追加输出到文件。 - **BREAK**:定义输出格式的分隔符。 - **BTITLE**:设置页面顶部标题。 - **COLUMN**:设置列的显示格式。 - **COMPUTE**:计算列值并显示。 - **CONNECT**:连接数据库。 - **COPY**:复制屏幕内容到剪贴板。 - **DESCRIBE**:显示表或视图的结构。 - **EDIT**:编辑当前 SQL 缓存区中的 SQL 语句。 - **EXIT**:退出 SQL*PLUS。 - **GET**:加载 SQL 文件到 SQL 缓存区。 - **HELP**:显示帮助信息。 - **HOST**:运行操作系统命令。 - **INPUT**:从键盘读取输入。 - **LIST**:列出 SQL 缓存区中的 SQL 语句。 - **NEWPAGE**:开始新一页输出。 - **RUN**:执行 SQL 缓存区中的 SQL 语句。 - **SAVE**:保存 SQL 缓存区中的 SQL 语句到文件。 - **SET**:设置 SQL*PLUS 环境参数。 - **SHOW**:显示当前设置的状态。 - **SPOOL**:将输出重定向到文件。 - **START**:执行存储在文件中的 SQL 脚本。 - **TIMING**:显示 SQL 语句的执行时间。 - **TTITLE**:设置页面底部标题。 - **UNDEFINE**:取消定义变量。 #### 二、数据库查询与数据字典 文档进一步介绍了如何使用 SQL 进行数据库查询,包括数据字典查询和常见的 SQL 查询语句。 ##### 2.1 数据字典 数据字典是存储在数据库中的元数据集合,用于描述数据库对象的结构和属性。常用的查询包括: - **TAB**:列出所有用户创建的基表、视图和同义词。 - **DTAB**:列出构成数据字典的所有表。 - **COL**:列出所有用户创建的基表的所有列定义。 - **CATALOG**:列出用户可以访问的所有基表。 例如,要查询当前用户的所有基表,可以使用以下 SQL 语句: ```sql SELECT * FROM TAB; ``` ##### 2.2 使用 DESCRIBE 命令 - **DESCRIBE** 命令用于显示表或视图的结构信息,例如: ```sql DESCRIBE DEPT; ``` ##### 2.3 SELECT 语句 文档通过实例展示了如何使用 SELECT 语句进行查询: - 查询 EMP 表的所有记录: ```sql SELECT * FROM EMP; ``` - 查询 EMP 表中的 EMPNO、ENAME 和 JOB 字段: ```sql SELECT EMPNO, ENAME, JOB FROM EMP; ``` - 按 DEPTNO 字段降序查询 DEPT 表的所有记录: ```sql SELECT * FROM DEPT ORDER BY DEPTNO DESC; ``` ##### 2.4 逻辑运算符 逻辑运算符用于在 WHERE 子句中构建复杂的查询条件,常见的运算符包括: - **=**:等于 - **!= 或 <>**:不等于 - **>**:大于 - **>=**:大于等于 - **<**:小于 - **<=**:小于等于 - **IN**:在指定的列表中 - **BETWEEN**:在指定的两个值之间 - **LIKE**:模式匹配 - **IS NULL**:判断是否为 NULL - **IS NOT NULL**:判断是否不为 NULL 例如,查询哪些职员和分析员: ```sql SELECT ENAME, JOB FROM EMP WHERE JOB IN ('CLERK', 'ANALYST'); ``` 查询哪些雇员的工资在 2000 和 3000 之间: ```sql SELECT ENAME, JOB, SAL FROM EMP WHERE SAL BETWEEN 2000 AND 3000; ``` 查询以 S 开头的名字: ```sql SELECT ENAME, DEPTNO FROM EMP WHERE ENAME LIKE 'S%'; ``` 查询名字以 K 结尾的人: ```sql SELECT ENAME, DEPTNO FROM EMP WHERE ENAME LIKE '%K'; ``` ##### 2.5 多条件查询 文档还提供了多条件查询的例子: - 查询 DEPTNO 为 20 且职位不是 CLERK 的雇员: ```sql SELECT ENAME, JOB FROM EMP WHERE DEPTNO = 20 AND JOB != 'CLERK'; ``` ##### 2.6 表达式 文档还介绍了如何在 SQL 中使用算术表达式: - 查询奖金高于其工资 5% 的雇员: ```sql SELECT ENAME, SAL, COMM, COMM / SAL FROM EMP WHERE COMM > .05 * SAL ORDER BY COMM / SAL DESC; ``` ##### 2.7 日期型数据的运算 文档还提供了日期型数据运算的例子: - 将 6-MAR-87 加上两天: ```sql SELECT DATE '1987-03-06' + INTERVAL '2' DAY AS NEW_DATE; ``` - 将 6-MAR-87 加上两小时: ```sql SELECT DATE '1987-03-06' + INTERVAL '2' HOUR AS NEW_TIME; ``` - 将 6-MAR-87 加上 15 秒: ```sql SELECT DATE '1987-03-06' + INTERVAL '15' SECOND AS NEW_TIME; ``` 通过以上总结,可以看出《Oracle PL/SQL 编程手册(SQL大全)》文档全面地介绍了 Oracle SQL 的基本概念、语法和常用命令,是学习和使用 Oracle 数据库进行开发的重要参考资料。
- 粉丝: 4
- 资源: 7001
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 操作系统实验ucore lab3
- DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠 这段程序是一个改进的粒子群算法,主要用于解决电力系统中的优化问题 下面我将对程序进行详
- final_work_job1(1).sql
- 区块链与联邦学习结合:FedChain项目详细复现指南
- 西门子S7 和 S7 Plus 协议开发示例
- 模块化多电平变流器 MMC 的VSG控制 同步发电机控制 MATLAB–Simulink仿真模型 5电平三相MMC,采用VSG控制 受端接可编辑三相交流源,直流侧接无穷大电源提供调频能量 设置频率
- 微电网(两台)主从控制孤岛-并网平滑切的分析 分析了: 1.孤岛下VF控制 2.并网下PQ控制 3.孤岛下主从控制 4.孤岛到并网的平滑切控制 5.除模型外还对分布式发电与主动配电网一些常见问题做了
- 第四组二手产品.zip
- 基于小程序的智慧物业平台源代码(java+小程序+mysql+LW).zip
- MVIMG_20241222_194113.jpg