SQLPlus 常用命令

系统 1686 0

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翻页功能
    
  

SQLPlus 常用命令


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论