SQL*PLUS命令的使用大全(一)

来源:互联网 发布:猎聘网怎么样 知乎 编辑:程序博客网 时间:2024/06/06 14:04
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable{mso-style-name:普通表格;mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-noshow:yes;mso-style-parent:"";mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-para-margin:0cm;mso-para-margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:10.0pt;font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";mso-ansi-language:#0400;mso-fareast-language:#0400;mso-bidi-language:#0400;}

Oraclesql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql语句。

我们通常所说的DMLDDLDCL语句都是sql语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行。

除了sql语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。

下面就介绍一下一些常用的sql*plus命令。

1.   执行一个SQL脚本文件

SQL>start file_name
SQL>@ file_name

我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。

2.   对当前的输入进行编辑

SQL>edit ed

3.   重新运行上一次运行的sql语句

SQL>/ run

4.   将显示的内容输出到指定文件

SQL> SPOOL file_name

在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。

5.   关闭spool输出

SQL> SPOOL OFF
只有关闭spool输出,才会在输出文件中看到输出的内容。

6.   显示一个表的结构

SQL> desc table_name

7.   COL命令

主要格式化列的显示形式。

该命令有许多选项,具体如下:

COL[UMN] [{ column|expr} [ option ...]]

Option选项可以是如下的子句:

ALI[AS] alias
CLE[AR]
FOLD_A[FTER]
FOLD_B[EFORE]
FOR[MAT] format
HEA[DING] text
JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}
LIKE { expr|alias}
NEWL[INE]
NEW_V[ALUE] variable
NOPRI[NT]|PRI[NT]
NUL[L] text
OLD_V[ALUE] variable
ON|OFF
WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]

1). 改变缺省的列标题

COLUMN column_name HEADING column_heading
例:

SQL>select * from dept;

DEPTNO      DNAME                    LOC

---------- ---------------------------- ---------
10          ACCOUNTING                   NEW YORK

SQL>col LOCheading location
SQL>select * from dept;

DEPTNO      DNAME                    location

---------- ---------------------------- -----------
10          ACCOUNTING                   NEW YORK

 

2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上

例:

SQL>select * from emp

Department Ename      Salary

---------- ---------- ----------
10          aaa        11

SQL> COLUMN ENAMEHEADING ’Employee|Name’
SQL>select * from emp

Employee

Department Ename      Salary
---------- ---------- ----------
10          aaa        11

3). 改变列的显示长度

FOR[MAT] format

例:

SQL>select empno,ename,job from emp;

EMPNO       ENAME   JOB

---------- ---------- ---------
7369        SMITH   CLERK
7499        ALLEN   SALESMAN
7521        WARD       SALESMAN


SQL> col ename format a40

SQL>select empno,ename,job from emp;

EMPNO       ENAME                                 JOB

---------- ---------------------------------------- ---------
7369        SMITH                                 CLERK
7499        ALLEN                                 SALESMAN
7521        WARD                                     SALESMAN

4). 设置列标题的对齐方式

JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}

例:

SQL>col ename justify center

SQL> /

EMPNO      ENAME                                 JOB

-------------------------------------------------- ---------
7369                      SMITH                     CLERK
7499                      ALLEN                    SALESMAN
7521                      WARD                     SALESMAN


注:对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边

5). 不让一个列显示在屏幕上

NOPRI[NT]|PRI[NT]

例:

SQL> col jobnoprint

SQL> /

EMPNO   ENAME

--------------------------------------------------

7369         SMITH

7499         ALLEN

7521         WARD

6). 格式化NUMBER类型列的显示

例:

SQL>COLUMN SAL FORMAT $99,990
SQL> /

           Employee 

Department EName     Salary     Commission

---------- ---------- --------- ----------
30        ALLEN      $1,600     300

原创粉丝点击