常用的SQL*PLUS命令

常用的SQL*PLUS命令

当输入SQL语句时,该语句被存在SQL缓冲区中(一个内存区)。这个SQL缓冲区很小,只能存入一个SQL语句,当下一条SQL语句输入时,原来在缓冲区中的SQL语句被覆盖。SQL*PLUS是一个工具(环境)。正像我们所看到的,我们可以用它来输入SQL语句。为了有效地输入和编辑SQL语句,SQL*PLUS还提供了一些常用的命令。与SQL语句不通的是SQL*PLUS的命令是可以缩写的。

1、DESC[RIBE]命令
SQL> DESC emp

SQL*PLUS命令的结尾处可以不适用分号(;).
DESC[RIBE]命令是经常使用色SQL*PLUS命令。一般有经验的开发人员在使用SQL语句开发程序之前,都要使用DESC[RIBE]命令来查看一下SQL语句要操作的表的结构。

2、SET LINE[SIZE]{80|n}命令
另一个有用的SQL*PLUS命令是SET LINE[SIZE] {80|n},其中n为自然数,80为默认值。该命令是将显示屏的显示输出置为n个字符那么宽,80为此命令的默认显示宽度。
SQL> SET line 100

3、L(LIST)命令和n test命令
Oracle的SQL*PLUS提供了若干条命令来帮助我们发现错误或者改正错误,其中最常用的这类命令之一就是L(LIST)命令。该命令用来显示SQL缓冲区中的内容。
SQL>L
之后可以使用n text命令来修改出错的部分,其中n为在SQL缓冲区中的SQL语句的行号,text为替代出错部分的SQL语句。因为我们例子中从L(LIST)命令的显示得知是第二行出了错,所以:
SQL>2 FROM emp

4、'/' (RUN)命令
前面我们修改了缓冲区中的SQL语句,如何运行呢?
当然没有必要重新输入这条语句,因为这条语句已经在SQL缓冲区中。Oracle提供了SQL*PLUS命令‘/’(RUN)来重新运行SQL缓冲区中的SQL语句。
SQL> /

5、n(设置当前行)命令和A[PPEND](附加)命令。
SQL>L
SQL>1
SQL>a ,job ,sal
SQL>L
SQL>/

6、del命令
可以使用del n删除第n行。如果没有指定n就是删除掉当前行。也可以使用del m,n命令删除从m行到n行的所有内容
SQL>L
SQL> dev 4
SQL>L
SQL>/

7、C[HANGE]命令
也可以使用C[HANGE]/原文/心得正文命令来修改SQL缓冲区中的语句。该命令是在当前行中用“新的正文”替代“原文”
SQL>SELECT empno, ename, job, sal
FROM dept
WHERE sal >= 1500
ORDER BY job, sal DESC;
SQL>2
SQL>C /dept/emp
SQL>L
SQL>/

8、如何生成脚本文件
SQL> SAVE D:\SQL\SAMPLE

9、如何编辑脚本文件
SQL>GET D:\SQL\SAMPLE
装载脚本文件进入SQL*PLUS,然后就随意编辑了
或者使用SQL*PLUS的ed[it]命令来直接编辑D:\SQL\SAMPLE:
SQL> ed D:\SQL\SAMPLE

10、如何直接运行脚本文件
SQL> @D:\SQL\SAMPLE.sql
@或START命令是把指定脚本文件的内容装入SQL缓冲区进行运行。

11、SPOOL命令
当要用SQL语句产生一个大的报表时,这个命令很有用。
SQL> SPOOL D:\SQL\OUTPUT
SQL> SELECT empno, ename, job, sal
FROM emp
WHERE sal >=1500
ORDER BY job, sal DESC;
SQL>SPOOL OFF;

SPOOL D:\SQL\OUTPUT中SPOLL之后为文件名,该命令的意思是在该命令之后屏幕上所显示的一切都要存到D:\SQL目录下的OUTPUT文件中。只有当输入SPOOL OFF之后您才能看到OUTPUT文件中的内容。如果您输入SPOOL OUT 表示其内容将送到打印机。

 

posted @ 2016-12-23 14:38  guodaxia  阅读(187)  评论(0)    收藏  举报