SQL*Plus之命令使用大集合.pdf

### SQL*Plus命令使用详解 #### 一、执行SQL脚本文件 - **命令**: `@脚本文件路径` - **功能**: 直接在SQL*Plus环境中执行指定路径下的SQL脚本文件。 - **示例**: `@C:\scripts\my_script.sql` #### 二、对当前输入进行编辑 - **命令**: `edit` - **功能**: 在SQL*Plus中启动内置编辑器,允许用户编辑当前SQL语句或脚本。 - **示例**: 输入`edit`命令后可以直接在编辑器中修改SQL语句。 #### 三、重新运行上一次运行的SQL语句 - **命令**: `reexecute` 或 `rerun` 或 `/` - **功能**: 重复执行上一次执行过的SQL语句。 - **示例**: 执行任意SQL语句后,只需输入`/`即可重新执行该语句。 #### 四、将显示的内容输出到指定文件 - **命令**: `spool 文件路径` - **功能**: 将SQL*Plus中的输出重定向到指定的文件中。 - **示例**: `spool C:\output.txt` 可将之后的所有输出保存到`C:\output.txt`文件中。 #### 五、关闭spool输出 - **命令**: `spool off` - **功能**: 停止将输出重定向到文件,恢复正常的屏幕输出。 - **示例**: `spool off` #### 六、显示一个表的结构 - **命令**: `describe 表名` - **功能**: 显示指定表的结构信息,包括字段名、数据类型等。 - **示例**: `describe employees` 将显示`employees`表的结构。 #### 七、COL命令 - **命令**: `col 列名 format 格式` - **功能**: 用于设置列的显示格式。 - **子命令**: - **更改缺省的列标题**: `col 列名 heading '新标题'` - **示例**: `col ename heading 'Employee Name'` - **改变列的显示长度**: `col 列名 width 宽度` - **示例**: `col ename width 20` - **设置列标题的对齐方式**: `col 列名 format a对齐方式` - **示例**: `col ename format a10` - **不让一个列显示在屏幕上**: `col 列名 format hidden` - **示例**: `col ename format hidden` - **格式化NUMBER类型列的显示**: `col 列名 format 9999999999999999` - **示例**: `col salary format 9999999999999999` - **显示列值时,如果列值为NULL值,用text值代替NULL值**: `col 列名 format 'text值'` - **示例**: `col department_id format 'N/A'` - **设置一个列的回绕方式**: `col 列名 format a宽度.0` - **示例**: `col ename format a20.0` - **显示列的当前的显示属性值**: `col 列名 format` - **示例**: `col ename format` - **将所有列的显示属性设为缺省值**: `col * format default` #### 八、屏蔽掉一个列中显示的相同的值 - **命令**: `set dup off` - **功能**: 当查询结果中包含重复的列值时,仅显示一次。 - **示例**: `select * from employees;` 后加上`set dup off`可避免重复值显示。 #### 九、在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n个空行 - **命令**: `break on 列名 skip n` - **功能**: 在查询结果中,当指定列的值发生变化时,插入n个空行。 - **示例**: `select * from employees order by department_id;` 后加上`break on department_id skip 2`,将在部门ID变化时插入2个空行。 #### 十、显示对BREAK的设置 - **命令**: `show break` - **功能**: 显示当前设置的`break`命令的状态。 - **示例**: `show break` #### 十一、删除8、9的设置 - **命令**: `clear break` - **功能**: 清除所有的`break`设置。 - **示例**: `clear break` #### 十二、Set命令 - **命令**: `set 参数 on|off|value` - **功能**: 设置SQL*Plus环境的各种参数。 - **子命令**: - **设置当前session是否对修改的数据进行自动提交**: `set autocommit on|off` - **示例**: `set autocommit on` - **在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句**: `set echo on|off` - **示例**: `set echo on` - **是否显示当前sql语句查询或修改的行数**: `set feedback on|off` - **示例**: `set feedback on` - **是否显示列标题**: `set heading on|off` - **示例**: `set heading on` - **设置一行可以容纳的字符数**: `set linesize 数值` - **示例**: `set linesize 100` - **设置页与页之间的分隔**: `set pagesize 数值` - **示例**: `set pagesize 100` - **显示时,用text值代替NULL值**: `set null 'text值'` - **示例**: `set null 'N/A'` - **设置一页有多少行数**: `set pagesize 数值` - **示例**: `set pagesize 50` - **是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息**: `set serveroutput on|off` - **示例**: `set serveroutput on` - **当SQL语句的长度大于LINESIZE时,是否在显示时截取SQL语句**: `set trimout on|off` - **示例**: `set trimout on` - **是否在屏幕上显示输出的内容,主要用与SPOOL结合使用**: `set trimspool on|off` - **示例**: `set trimspool on` - **将SPOOL输出中每行后面多余的空格去掉**: `set trimspool on` - **示例**: `set trimspool on` - **显示每个sql语句花费的执行时间**: `set timing on` - **示例**: `set timing on` - **遇到空行时不认为语句已经结束,从后续行接着读入**: `set sqlblot on|off` - **示例**: `set sqlblot on` - **设置DBMS_OUTPUT的输出**: `set serveroutput on|off` - **示例**: `set serveroutput on` - **输出的数据为html格式**: `set markup html on` - **示例**: `set markup html on` #### 十三、修改sqlbuffer中的当前行中,第一个出现的字符串 - **命令**: `change 字符串 新字符串` - **功能**: 替换SQL缓冲区中指定位置的第一个字符串。 - **示例**: `change 'where' 'and'` #### 十四、编辑sqlbuffer中的sql语句 - **命令**: `edit` - **功能**: 启动内置编辑器,允许编辑当前SQL语句。 - **示例**: `edit` 可以修改当前SQL缓冲区中的语句。 #### 十五、显示sqlbuffer中的sql语句 - **命令**: `list` 或 `ls` - **功能**: 显示当前SQL缓冲区中的SQL语句。 - **示例**: `list` #### 十六、在sqlbuffer的当前行下面加一行或多行 - **命令**: `add 行数` - **功能**: 在当前行下添加指定数量的新行。 - **示例**: `add 2` 可以在当前行下添加两行空白行。 #### 十七、将指定的文本加到sqlbuffer的当前行后面 - **命令**: `append 文本` - **功能**: 在当前行末尾追加指定文本。 - **示例**: `append 'where id = 1'` #### 十八、将sqlbuffer中的sql语句保存到一个文件中 - **命令**: `save 文件路径` - **功能**: 将SQL缓冲区中的SQL语句保存到文件。 - **示例**: `save C:\scripts\query.sql` #### 十九、将一个文件中的sql语句导入到sqlbuffer中 - **命令**: `get 文件路径` - **功能**: 从文件中读取SQL语句并将其加载到SQL缓冲区。 - **示例**: `get C:\scripts\query.sql` #### 二十、再次执行刚才已经执行的sql语句 - **命令**: `/` 或 `rerun` - **功能**: 重复执行上次执行的SQL语句。 - **示例**: `/` #### 二十一、执行一个存储过程 - **命令**: `call 存储过程名(参数)` - **功能**: 调用并执行指定的存储过程。 - **示例**: `call my_package.my_procedure('param')` #### 二十二、在sql*plus中连接到指定的数据库 - **命令**: `connect 用户名/密码@数据库连接名` - **功能**: 连接到指定的Oracle数据库。 - **示例**: `connect scott/tiger@orcl` #### 二十三、设置每个报表的顶部标题 - **命令**: `title 标题` - **功能**: 设置报表顶部的标题。 - **示例**: `title 'Sales Report'` #### 二十四、设置每个报表的尾部标题 - **命令**: `footer 标题` - **功能**: 设置报表底部的标题。 - **示例**: `footer 'Generated on: ' to_char(sysdate, 'DD-MON-YYYY')` #### 二十五、写一个注释 - **命令**: `comment 注释内容` - **功能**: 写入注释。 - **示例**: `comment 'This is a comment.'` #### 二十六、将指定的信息或一个空行输出到屏幕上 - **命令**: `print 信息` - **功能**: 输出指定的信息或空行。 - **示例**: `print 'Hello, World!'` #### 二十七、将执行的过程暂停,等待用户响应后继续执行 - **命令**: `pause 提示信息` - **功能**: 暂停执行并等待用户输入。 - **示例**: `pause 'Press Enter to continue...'` #### 二十八、将一个数据库中的一些数据拷贝到另外一个数据库 - **命令**: 使用`expdp`和`impdp`命令或编写PL/SQL脚本实现数据传输。 - **功能**: 复制数据从一个数据库到另一个数据库。 - **示例**: `expdp scott/tiger directory=DIR1 dumpfile=mydata.dmp tables=employees` 和 `impdp scott/tiger directory=DIR1 dumpfile=mydata.dmp tables=employees` #### 二十九、不退出sql*plus,在sql*plus中执行一个操作系统命令 - **命令**: `!命令` - **功能**: 在SQL*Plus中执行操作系统命令。 - **示例**: `!dir` #### 三十、在sql*plus中,切换到操作系统命令提示符下,运行操作系统命令后,可以再次切换回sql*plus - **命令**: `!` 或 `os` - **功能**: 切换到操作系统命令提示符。 - **示例**: `!` 或 `os` 后可执行任何OS命令。 #### 三十一、显示sql*plus命令的帮助 - **命令**: `help` - **功能**: 显示SQL*Plus命令的帮助文档。 - **示例**: `help` #### 三十二、显示sql*plus系统变量的值或sql*plus环境变量的值 - **命令**: `show 参数` - **功能**: 显示指定参数的当前值。 - **示例**: - **显示当前环境变量的值**: `show parameter` - **显示当前在创建函数、存储过程、触发器、包等对象的错误信息**: `show errors` - **显示初始化参数的值**: `show parameter init` - **显示数据库的版本**: `show version` - **显示SGA的大小**: `show sga` - **显示当前的用户名**: `show user` #### 三十三、查询一个用户下的对象 - **命令**: `select * from all_objects where owner = '用户名';` - **功能**: 查询指定用户下的所有对象。 - **示例**: `select * from all_objects where owner = 'SCOTT';` #### 三十四、查询一个用户下的所有的表 - **命令**: `select table_name from all_tables where owner = '用户名';` - **功能**: 查询指定用户下的所有表。 - **示例**: `select table_name from all_tables where owner = 'SCOTT';` #### 三十五、查询一个用户下的所有的索引 - **命令**: `select index_name from all_indexes where owner = '用户名';` - **功能**: 查询指定用户下的所有索引。 - **示例**: `select index_name from all_indexes where owner = 'SCOTT';` #### 三十六、定义一个用户变量 - **命令**: `var 变量名 数据类型` - **功能**: 定义用户变量。 - **示例**: `var empno number` #### 三十七、定义一个绑定变量 - **命令**: `&变量名` - **功能**: 定义绑定变量。 - **示例**: `select * from employees where employee_id = &empid` #### 三十八、&与&&的区别 - **区别**: - **&**: 定义绑定变量,但只在第一次使用时提示用户输入。 - **&&**: 重复使用同一绑定变量时,如果未指定新的值,则使用上一次输入的值。 - **示例**: - `select * from employees where employee_id = &empid;` - 第二次使用时: `select * from employees where employee_id = &&empid;` #### 三十九、在输入sql语句的过程中临时先运行一个sql*plus命令 - **命令**: `!` - **功能**: 在输入SQL语句过程中执行SQL*Plus命令。 - **示例**: 在输入SQL语句时,按下`!`键后可执行SQL*Plus命令。 #### 四十、SQLPlus中的快速复制和粘贴技巧 - **技巧**: - **复制**: 在Windows环境下,可以使用Ctrl+C进行复制。 - **粘贴**: 在Windows环境下,可以使用Ctrl+V进行粘贴。 - **注意**: 在某些版本的SQL*Plus中,可能需要使用Ctrl+Shift+C和Ctrl+Shift+V来复制和粘贴。 通过以上详细介绍,我们可以看到SQL*Plus提供了丰富的命令集来帮助Oracle数据库管理员和开发人员更高效地管理数据库。无论是基本的SQL执行还是复杂的脚本编写,SQL*Plus都是一款非常实用的工具。掌握这些命令不仅可以提高工作效率,还能在处理复杂问题时提供有力支持。














剩余19页未读,继续阅读

- KyleeKello2019-06-10脉络不是很清晰。

- 粉丝: 14
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 房屋工程项目管理与成本管理分析.docx
- 智慧网络架构介绍.pdf
- 关于跟踪审计与工程建设项目管理整合的研究.docx
- 互联网+创业融资商业计划书PPT模板ppt模板.pptx
- 网络安全域流量与策略监管系统方案.ppt
- 探究云计算环境下的数据存储分析.docx
- 智能算法应用项目设计及制作.ppt
- 以就业为导向的高职计算机教学实践探讨.docx
- 互联网+时代的人力资源管理新趋势及对策.docx
- 质量专业职业资格继续教育必修项目管理培训习题及参考答案——抽样检验.doc
- 基于PROTEUS的PIC单片机研究设计——多路抢答器研究设计.doc
- 中标麒麟环境下基于Qt的神通数据库编程浅析.docx
- 大数据背景下财务共享平台的构建.docx
- CAD工程师考试介绍.doc
- 民办高校思想政治教育研究的现状分析-基于大数据视角.docx
- 互联网+助农扶贫销售初探.docx


