常用的SQL*PLUS命令

当输入SQL语句时,该语句被存在SQL缓冲区中(一个内存区)。这个SQL缓冲区很小,只能存一个SQL语句,当下一条SQL语句输入时,原来在缓冲区中的SQL语句被覆盖掉。SQL*PLUS是一个工具(环境)。正像我们所看到的,我们可以用它来输入和编辑SQL语句。

desc

一般在操作表之前总是想知道表的结构。

desc emp

名称        是否为空?类型

EMPNO        NOT NULL NUMBER(4)

ENAME        VARCHAR2(10)

JOB        VARCHAR2(9)

MGR        NUMBER(4)

DATE        HIREDATE

SAL        NUMBER(7,2)

COMM        NUMBER(7,2)

DEPTNO        NUMBER(2)

EMPNO列为整数,最大长度为4位。

ENAME 列为变长字符型,最大长度为10个字符。

JOB列也为变长字符型,最大长度为9个字符。

MGR列为整数,最大长度为4位。

HIREDATE列为日期型(我们在后面的章节中要详细介绍这种数据类型)。

SAL列为浮点数(即包含小数的数),最大长度为7位,其中有两位是小数。

COMM列也为浮点数,最大长度也为7位,其中有两位是小数。

DEPTNO列为整数,最大长度为两位。

SET LINE[SIZE]{80| n}

其中n为自然数,80为默认值。该命令是将显示屏的显示输出置为n个字符那么宽,80个字符为此命令的默认显示宽度。

L(LIST)

该命令用来显示SQL缓冲区中的内容。

SELECT empno,ename,job,sal

        2 FROM dept

        3 WHERE sal >= 1500

        4* ORDER BY job, sal DESC

之后可以使用 n text 命令来修改出错的部分,其中n为在SQL缓冲区中的SQL语句的行号,text为替代出错部分的SQL语句。

SQL>2 FROM emp

SQL>L

SELECT empno,ename,job,sal

        2 FROM emp

        3 WHERE sal >= 1500

        4* ORDER BY job, sal DESC

/(RUN)命令

Oracle提供了SQL*PLUS命令'/'(RUN)来重新运行在SQL缓冲区中的SQL语句。

n(设置当前行)命令和A【PPEND】(附加)命令

例3-11

soL> L

例3-11结果

1 SELECT ename

        2* FROM emp

在例3-11显示的结果中,2后面的"*"表示第二行为当前行。从例3-11显示的结果发现SELECT ename是SQL缓冲区中的第一行。为了在ename之后添加“,job,sal”您应该先把第一行设置为当前行。于是输入1,如例3-12,该命令把第一行置为当前行。

例3-12 SQL> 1

例3-12结果

1* SELECT ename

例3-12显示的结果表明已成功地将SQL缓冲区中的第一行设置为当前行。

现在就可以使用例3-13的a命令(附加命令)把",job,sal"添加到SELECT ename之后了。

例3-13

sQL> a ,job,sal

例3-13结果

1* SELECT ename,job,sal

此时您应该再使用例3-14的L命令,来检查您所作的修改是否正确。例3-14 soz>例3-14结果

1 SELECT ename,job,sal

         2* FROM emp

del 命令

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

C【HANGE】命令

也可以使用C【HANGE】/原文/新的正文命令来修改SQL缓冲区中的语句。

SQL>c /job,/

生成脚本文件

例3-31

SQL> SELECT empno,ename,job,sal

        2 FROM emp

        3 WHERE sal >= 1500 

        4 ORDER BY job, sal DESC;

例3-31结果

JOB

EMPNO ENAME SAL

3000 ANALYST

7788 SCOTT 3000

7902 FORD ANALYST

7566 JONES

2975 MANAGER

现在您可以输入如例3-32的SQL*PLUS的命令,将SQL缓冲区中的语句存入D:\SQL\SAMPLE.sql文件中,该文件也叫脚本文件。

注意:在执行SQL*PLUS命令之前,您要先使用操作系统命令来创建D:SQL目录(文件夹).

编辑脚本文件

在生成了脚本文件D:SQLISAMPLE.sql之后,可以使用例3-37的SQL*PLUS的GET 命令将这个脚本文件装入SQL缓冲区。

例3-37

SQL> GET D:\SQL\SAMPLE.sql

您也可以使用如例3-40的SQL*PLUS的ed【it】命令来直接编辑D:SQL\SAMPLE。例3-40

soL> ed D:\SQL\SAMPLE

如何直接运行脚本文件3.10

也可以使用如例3-41的SQL*PLUS的@ 或者 START命令来直接运行脚本文件D:SQLSAMPLE.sql. 例3-41

SQL>@D:\sQL\SAMPLE.sql

3.11 SPOOL命令

我们这里要介绍的最后一个SQL*PLUS命令为SPOOL。当要用SQL语句产生一个大的报表时,这个命令很有用。例如输入如例3-42,例3-43和例3-44的SQL*PLUS的命令和SQL语句。

例3-42

SQL> SPOOL D:\SQL\OUTPUT

spool D:\sollourpur CKLA

例3-43

SQL> SELECT empno,ename,job,sal

2 FROM emp

例3-44

SPOOL OFF;SQL>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值