SQLPlus 常用命令

SQLPlus提供了很多常用的命令,以下是常用命令的使用方法及示例。

1-> SQLPlus的登陆与退出

sqlplus -H | -V -H 将显示sqlplus的版本及帮助信息,-V将显示其版本信息
登陆语法:
 
     
     is: (
     
      [/
      
       ][@
       
        ] | /) [AS SYSDBA | AS SYSOPER] | /NOLOG 
        
         [/
         
          ]:登陆的用户名,密码 @
          
           :数据库的连接标识符,当未指定该参数,则连接到缺省的标识符 AS SYSDBA | AS SYSOPER:这两个参数描述使用数据库管理员的权限登陆 NOLOG:启动未连接到数据库的SQLPlus,在这之后可以使用conn登陆 下面是三种不同的登陆方式 [oracle@linux ~]$ sqlplus scott/tigger SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 30 14:04:06 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options [oracle@linux ~]$ sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 30 14:04:45 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn scott Enter password: Connected. SQL> exit 
           /*使用exit或quit来退出*/ SQL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options [oracle@linux ~]$ sqlplus "
           /as sysdba" SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 30 14:05:44 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 退出:使用使用exit或quit来退出,如例子中所演示的
          
         
        
       
      
     
    
2->help  获得某一个命令的帮助信息
SQL> help desc

 DESCRIBE
 --------
 Lists the column definitions for a table, view, or synonym,
 or the specifications for a function or procedure.
 DESC[RIBE] {[schema.]object[@connect_identifier]
3->LIST [m][*] [n](简写L)显示缓冲区的所有内容。* 当前行,m 第m行,n 第n行,m n 同时出现,m到n行
SQL> l
  1  select * from emp
  2  where sal > 2000
  3* and deptno = 20
SQL> l 2 3
  2  where sal > 2000
  3* and deptno = 20
4->/ 执行缓冲区的内容
SQL> l
  1  select * from emp
  2  where sal > 2000
  3  and deptno = 20
  4* and ename = 'SCOTT'
SQL> /

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20  
5->n 设置当前行
SQL> 2
  2* where sal > 2000
SQL> 3
  3* and deptno = 20  
6->n text 用text内容替换第n行
SQL> l
  1  select * from emp
  2  where deptno = 20
  3* and sal > 2000
SQL> 2 where ename = 'SCOTT'
SQL> l
  1  select * from emp
  2  where ename = 'SCOTT'
  3* and sal > 2000
7->;  对于已输入完毕的SQL语句,输入;号表示该语句输入完毕。对于设置语句可以不使用分号,如上述的help desc
 

8->APPEND text(简写A text) 将text的内容追加到缓冲区尾部
SQL> l
  1* select * from emp
SQL> a where sal > 2000;
  1* select * from empwhere sal > 2000
9->CHANGE/old/new(简写C /old/new) 将当前行中的old替换为new
SQL> l
  1  select * from emp
  2  where sal > 2000
  3*    and deptno = 20
SQL> 3
  3*    and deptno = 20
SQL> c /20/10
  3*    and deptno = 10
SQL> l
  1  select * from emp
  2  where sal > 2000
  3*    and deptno = 10
10->CHANGE/text(C/text) 删除当前行中的text
SQL> l
  1  select * from emp
  2  where sal > 2000
  3*    and deptno = 10
SQL> 3
  3*    and deptno = 10
SQL> c /and deptno = 10
  3*
SQL> l
  1  select * from emp
  2  where sal > 2000
  3*
11->CLEAR BUFFER(CL BUFF)清除整个SQL缓冲区
SQL> cl buff
buffer cleared
SQL> l
SP2-0223: No lines in SQL buffer.
12->DEL 删除当前行
SQL> l
  1  select * from emp
  2* where sal > 2000
SQL> del 2
SQL> l
  1* select * from emp
13->show user 显示当前登陆的用户
SQL> show user  
USER is "SYS"
SQL> conn scott/tigger
Connected.
SQL> show user
USER is "SCOTT"
14->SAVE 保存当前缓冲区的内容到文件
SQL> l
  1  select *
  2  from emp
  3* where sal > 2000
SQL> save query.sql
Created file query.sql  
15->GET 把磁盘上的命令文件调入到当前缓冲区
SQL> cl buff
buffer cleared
SQL> get query.sql
  1  select *
  2  from emp
  3* where sal > 2000
16->START/@ filename 运行命令文件 
SQL> get query.sql
  1  select *
  2  from emp
  3* where sal > 2000
SQL> @query.sql
17->SET LINESIZE n 设置每行的字符数,默认80,如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示。 
SQL> select * from scott.emp where ename = 'SCOTT'; /*以下是未设置的结果*/

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM
---------- ---------- --------- ---------- --------- ---------- ----------
    DEPTNO
----------
      7788 SCOTT      ANALYST         7566 19-APR-87       3000
        20

SQL> set linesize 200
SQL> select * from scott.emp where ename = 'SCOTT';  /*以下是设置后的结果*/ 

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
18->dual 伪表的使用,注意Oracle与MSSQL的差异,下面的操作MSSQL无需伪表即可完成,几不需要from dual就可以完成一些特定的功能
SQL> select 3+2 from dual;

       3+2
----------
         5
19->spool    filename 将接下来屏幕上输入的所有内容输出到文件,包括输入的SQL语句
20->spool off 需要使用off后,才能将内容输出到文件
更多:Linux (RHEL 5.4)下安装Oracle 10g R2  使用Uniread实现SQLplus翻页功能

你可能感兴趣的:(oracle,sql,linux,数据库,user,database)