Home  >  Article  >  Database  >  SQL*PLUS常用命令

SQL*PLUS常用命令

WBOY
WBOYOriginal
2016-06-07 17:46:551490browse

1、 HOST
键入HOST命令能够从SQL*PLUS环境切换到操作系统环境,以便执行操作系统命令,按Ctrl+D能回到SQL*PLUS状态。
2、 DISCONNECT 和CONNECT
DISCONNECT 命令顾名思义,就是断开当前用户与ORACLE的连接,然后,你可以键入CONNECT命令,用另外一个用户名进入。
3、 SHOW
用SHOW ALL命令可以查看SQL*PLUS的68个系统变量值。用SHOW USER命令可以查看当前是哪个用户在使用SQL*PLUS
show sga:显示sga大小
show rel[ease]:显示数据库版本信息
show user:显示当前的用户名
4、 DESCRIBE(DESC)
DESCRIBE或DESC命令可以查看对象的结构,这里的“对象”可以是表、视图,存储过程、函数、包等。比如键入DESC DUAL,你就可以发现DUAL表只有一列。
5、 SAVE filename[.ext] [create|replace|append]
ext:文件后缀,缺省为sql
每当你在SQL*PLUS中执行一条或若干条SQL语句,ORACLE就会把这些刚执行过的语句存放到一个称为“缓冲区”的地方。每一次执行SQL语句,该语句就会存入缓冲区而把以前的覆盖。也就是说,缓冲区中存放的是刚才执行过的SQL语句。
用SAVE filename 命令可以把当前缓冲区中的内容存入文件中,其中,filename是你所取的文件名。
6、 GET filename
该命令将文件中的内容取出来防至缓冲区。
因此,你可用Vi或别的编辑器写好你需要执行的语句,然后用GET命令将这些语句取至缓冲区执行。
7、 /
斜杠“/”也是一个SQL*PLUS命令,它显示缓冲区中的内容并执行。
8、 RUN(R)
这两个命令和“/”一样。
9、 @
该命令直接执行缓冲区中的命令,但并不将它显示在屏幕上。
10、L
列出缓冲区中的内容,但并不执行。
11、L n
列出缓冲区中第n行的内容。
12、CHANGE(C)
C/string1/string2可以将缓冲区中当前行的string1字符串替换为string2 字符串。
13、A
把文本添加到缓冲区中当前行的末尾。
14、DEL
删除缓冲区中当前行。
15、I
在当缓冲区中当前行的后面插入一行。
16:Set
set timing on|off 打开或关闭显示sql命令执行时间
set autotrace on|off 打开或关闭sql命令监控分析
set echo on|off 在用start命令执行一个sql脚本时,是否显示脚本正在执行的SQL语句
set feedback on|off 显示当前sql查询或修改的行数
set autocommit on|off
17:spool 实现将屏幕的一切信息记录到操作系统的文件中直到spool off
spo[ol] [filename[.ext]|off|out]
out:启动该功能
.ext 缺省为lst或lis

下面举一个简单的例子,来讲解一些缓冲区编辑命令的使用方法。
假设你输入下面的这些命令:
SQL > SELECT name FROM tab_student
2> WHERE num AT
3> (SELECT num FROM tab_top_student );
你会发现语句有错,你需要修改它。这些语句已经存至缓冲区,你不必再次输入。
键入L命令,得到如下显示:
SQL > SELECT name FROM tab_student
2> WHERE num AT
3*> (SELECT num FROM tab_top_student );
注意第三行,有一个*号,表示这是当前行,键入L 2,得到如下显示:
2*> WHERE num AT
即把第二行变为当前行。
键入 C/AT/IN,得到如下显示:
2*> WHERE num IN
键入L查看一下缓冲区中所有内容:
SQL > SELECT name FROM tab_student
2> WHERE num IN
3*> (SELECT num FROM tab_top_student );
注意,这时第二行已经修改好,第三行为当前行。
好了,键入R运行这些语句即可。

向aaa.sql文件保存缓存区的内容
sql>select * from dept order by deptno

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn