oracle下常用SQLPLUS 附加命令

简介:
1  常用SQL*PLUS 附加命令简介
Oracle公司提供的附加语句(或称命令),可以满足程序人员和管理员的一些特殊操作要求。比如,在显示超过上百行记录信息时,可以采用每屏“暂停”来实现。要达到这样的目的,就要在SQL>下发 set pause on 命令。由于SQL*PLUS命令较多,下面仅给出最常用的几个命令的说明,详细的请参考附录。
1.1  登录到SQL*PLUS
可以用下面命令登录到 SQL*PLUS,SQL*PLUS命令的简单语法如下:
SQLPLUS  [  [logon] | [start]  ]
logon可以是:
{username[/password][@connect_identifier]|/} [AS {SYSOPER|SYSDBA}]
|/NOLOG
注1:SQLPLUS 主要是在命令方式下使用,在NT、WINDOWS/2000、UNIX的用法都一样。
注2:如果在UNIX下,SQLPLUS命令不被识别(不存在),则问题在环境变量PATH没有设置正确或者没有设置。SQLPLUS 可执行程序在$ORACLE_HOME/bin 目录下。
1.2  EXIT和QUIT
可以用 exit 或quit 来终止SQL*PLUS的操作(会话)。语法如下:
{EXIT|QUIT} [SUCCESS|FAILURE|WARNING ] 
{EXIT|QUIT}  可以用exit 或quit ,目前它们的功能一样。
SUCCESS  正常退出
FAILURE  带提示错误代码的退出
WARNING  带提示警告代码的退出
COMMIT  退出前将未提交进行保存
例如:
SQL>exit

1.3  DESCRIBE(显示表、视图结构) 
DESCRIBE可以用(只要用DESC即可)来显示表、视图的列的定义,也可以显示同义词、函数或存储过程的说明。语法如下:
DESC[RIBE] {[schema.]object[@connect_identifier]}

Schema:用户名,如果省去,则为对象的所有者。
object
可以是 表(table), 视图(view),类型( type), 存储过程(procedure),函数( function), 包(package)或同义词( synonym)
@connect_identifier
数据库连接字串
例:显示emp 表的结构:
SQL>desc emp
1.4  LIST(列出)命令 
可以用 LIST 命令来列出当前SQL缓冲区中的一行或多行命令语句。        
L[IST] [n|n m|n *|n LAST|*|* n|* LAST|LAST]
n 列出第n行
n m 列出n到m行
n * 列出第n行到当前行
n LAST 列出第n行到最末行
*  列出所有行
* n  列出当前行到第n行
* LAST列出当前行到最末行
LAST 列出最末行
例:
SQL> LIST
1 SELECT ENAME, DEPTNO, JOB
2 FROM EMP
3 WHERE JOB = ’CLERK’
4* ORDER BY DEPTNO
1.5  Change(替换字符串)命令
可以用Change命令来改变字符串(即替换字符串)。语法如下:
C[HANGE] sepchar old [sepchar [new [sepchar]]]
Sepchar 为分隔符,可以是”/” 或”!”  -- 请使用者特别注意

Old 旧字串
New 新字串
例:将 除号(/)改为 乘号( * ),则需要命令为c !/!*! 。即:
SQL> l
  1* select sal,sal/100 from emp
SQL> c !/!*!
提醒:对于修改 / 字符的只能用 ! 来作分隔符(上例)。
例:将乘号( * )改为 加号( + ),则需要命令为c !/!*! 。即:
SQL> l
  1* select sal,sal*100 from emp
SQL> c/*/+/
  1* select sal,sal+100 from emp
SQL>
1.6  Append(追加字符串)命令
可以用 Append命令来完成在当前行的末尾追加字符串。语法如下:
A[PPEND] text
Text  所要求追加的字符串
例:在当前行select sal,sal+100 from emp 后加 where sal>=2000,则:
SQL> l
  1* select sal,sal+100 from emp
SQL> a  where sal>=2000
  1* select sal,sal+100 from emp where sal>=2000
SQL>
1.7  Save保存当前缓冲区命令到文件
可以用SAVE命令将当前的命令行保存到操作系统的文件中。语法如下:
SAV[E] filename[.ext] [CRE[ATE]|REP[LACE]|APP[END]]
其中:
filename:你将把缓冲区中的内容存入到操作系统目录的文件名。
ext:若使用文件后缀,缺省的文件后缀为SQL。
例:
SQL>select  table_name from dict where  table_name like ‘%ROLE%’;
SQL>save c:\get_role
1.8  GET将命令文件读到缓冲区
可以用GET 命令将操作系统的目录下的命令文件读到缓冲区(但不执行)。语法如下:
GET filename [.ext] [LIS[T]|NOL[IST]]
其中:
filename: 希望加载到SQL缓冲区的文件名
ext: 文件的扩展名,缺省为 SQL.
例:
SQL>get c:\get_role
1.9  SPOOL将信息记录到文件中
Oracle的SPOOL 命令可以实现将屏幕所出现的一切信息记录到操作系统的文件中直到SPOOL OFF为止。语法如下:
SPO[OL] [filename[.ext] | OFF | OUT]
其中:
filename:你想输出(spool)的文件名。
ext:文件的后缀。缺省的后缀是LST(或LIS)。
SQL>col table_name for a20
SQL>col comments for a80
SQL>set linesize 110
SQL>SPOOl c:\all_dict
SQL>select table_name,comments from dict;
 . . .  . . . (系统查询信息)
SQL>SPOOL OFF
1.10  再运行当前缓冲区的命令
在SQL>方式下,如果希望在运行当前的命令,可用Run(或R)或用 / 来实现,如:
SQL> set lin 120
SQL> select  table_name from dict where  table_name like '%ROLE%';
TABLE_NAME
------------------------------
DBA_ROLES
DBA_ROLE_PRIVS
USER_ROLE_PRIVS
ROLE_ROLE_PRIVS
ROLE_SYS_PRIVS
ROLE_TAB_PRIVS
SESSION_ROLES
已选择7行。
SQL> l
  1* select  table_name from dict where  table_name like '%ROLE%'
SQL> /
TABLE_NAME
------------------------------
DBA_ROLES
DBA_ROLE_PRIVS
USER_ROLE_PRIVS
ROLE_ROLE_PRIVS
ROLE_SYS_PRIVS
ROLE_TAB_PRIVS
SESSION_ROLES
已选择7行。









本文转自 jxwpx 51CTO博客,原文链接:http://blog.51cto.com/jxwpx/193548,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
Oracle 关系型数据库 分布式数据库
PolarDB常见问题之PolarDB(Oracle兼容版) 执行命令报错如何解决
PolarDB是阿里云推出的下一代关系型数据库,具有高性能、高可用性和弹性伸缩能力,适用于大规模数据处理场景。本汇总囊括了PolarDB使用中用户可能遭遇的一系列常见问题及解答,旨在为数据库管理员和开发者提供全面的问题指导,确保数据库平稳运行和优化使用体验。
|
2天前
|
SQL Oracle Unix
Oracle sqlplus failed on AIX platform(/usr/lib/lib
Oracle sqlplus failed on AIX platform(/usr/lib/lib
|
21天前
|
SQL Oracle 关系型数据库
Oracle spool格式化数据命令
在这个示例中,通过设置不同的 `SET`命令参数,你可以控制输出的格式,包括每页行数、每行字符数、列分隔符等。你也可以使用其他的 `SET`命令参数来进一步定制输出格式。
14 0
|
22天前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的SPOOL命令:数据库世界的“录像机”
【4月更文挑战第19天】`SQL*Plus`的`SPOOL`命令是Oracle数据库中的“录像机”,能记录所有操作和输出。它在用户开始“SPOOL ON”时启动,记录SQL查询、输出、错误信息等。完成后,“SPOOL OFF”停止记录并生成日志文件,便于回顾和检查。日志文件可自定义保存位置和命名,支持多文件录制,方便分类管理。无论数据分析、SQL脚本编写还是日常维护,`SPOOL`都是强大的工具,值得一试!
|
8月前
|
SQL Oracle 关系型数据库
Oracle杂谈二 SQL*PLUS命令的使用大全
Oracle杂谈二 SQL*PLUS命令的使用大全
33 0
|
3月前
|
Oracle 关系型数据库
oracle 19c 搭建dataguard 简要命令
通过service 完成dg 搭建。
53 0
|
4月前
|
SQL Oracle 关系型数据库
Linux环境下oracle切换用户并查询数据库命令
Linux环境下oracle切换用户并查询数据库命令
|
5月前
|
SQL Oracle 关系型数据库
Oracle 常用命令大全
Oracle 常用命令大全
|
5月前
|
SQL Oracle 关系型数据库
[已解决]使用sqlplus连接oracle,提示ORA-01034和ORA-27101
[已解决]使用sqlplus连接oracle,提示ORA-01034和ORA-27101
56 0
|
4月前
|
Oracle 关系型数据库
【Oracle】sqlplus 复制数据文件时出现拒绝访问
【Oracle】sqlplus 复制数据文件时出现拒绝访问

推荐镜像

更多