• Oracle学习笔记--第3章 使用sql*plus工具


    使用sql*plus工具

    1.sqlplus连接方式示例

        sqlplus system/123[as sysdba];

    2.查看表结构命令;desc[ribe]

    e.g.      desc scott.emp;

    3.使用sql*plus快速编辑sql语句

    命  令

    说  明

    A[PPEND] text

    将text附加到当前行之后

    C[HANGE] /old/new

    将当前行中的old替换为new

    C[HANGE] /text/

    删除当前行中指定的text文本

    CL[EAR] BUFF[ER]

    清除缓存区中的所有行

    I[NPUT]

    插入不定数量的命令行

    I[NPUT] text

    插入指定的文本text

    DEL

    删除当前行

    DEL n

    删除第n行(行号从1开始)                

    DEL m n

    删除从第m行到第n行之间的命令行

    L[IST]

    列出缓冲区中所有的行

    L[IST] n

    列出第n行

    R[UN]或 /

    显示缓冲区中保存的语句,并运行这些语句

    n

    将第n行作为当前行

    n text

    使用text文本替代第n行信息

    0 text

    在第一行之前插入text文本

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    4.save命令将缓冲区内容保存到文件

    使用SAVE命令可以将当前缓冲区的内容保存到文件中,这样,即使缓冲区中的内容被覆盖,也保留有前面的执行语句。SAVE命令的语法如下所示:
    SAV[E] [ FILE ] file_name [ CRE[ATE] | REP[LACE] | APP[END] ]
    语法说明如下。
    file_name:表示将SQL*Plus缓冲区的内容保存到由file_name指定的文件中。
    CREATE:表示创建一个file_name文件,并将缓冲区中的内容保存到该文件。默认。
    APPEND:如果file_name文件已经存在,则将缓冲区中的内容追加到文件内容之后;否则创建该文件。

    REPLACE:如果file_name文件已经存在,则覆盖文件内容,否则创建该文件。

    SQL>save scott_emp_query.sql;

    指定append或replace选项,再次保存。

    SQL>save scott_emp_query.sql append;

    5.使用get命令读取文件内容到缓冲区

    使用GET命令的语法如下:
    GET [ FILE ] file_name [ LIST | NOLIST ]
     
    file_name:表示一个指定文件,将该文件的内容读入SQL*Plus缓冲区中。
    LIST:列出缓冲区中的语句。
    NOLIST:不列出缓冲区中的语句。
     
    例:将scott_emp_query.sql文件的内容读入到缓冲区中,并且输出和显示这些内容,如下:
    SQL> GET scott_emp_query.sql LIST
    效果显示:
               SELECT empno , job , mgr , sal , deptno
               FROM scott.emp
         where empno > 7800
    将文件的内容读入到缓冲区后,就可以使用编辑命令对这些内容进行操作了。
    6.start命令(@命令)读取并运行文件内容
      STA[RT] { url | file_name }
          SQL>start scott_emp_query.sql
     或  SQL>  @  scott_emp_query.sql
    7.编辑命令edit
    使用EDIT命令,可以将SQL*Plus缓冲区的内容复制到一个名为afiedt.buf的文件中,然后打开这个文件,并编辑(用记事本)。语法形式如下:
    ED[IT] [ file_name ]
    其中,file_name默认为afiedt.buf,也可以指定一个其他的文件。
     
    SQL>edit
     
    8.使用 spool 命令复制输出结果到文件
    使用SPOOL命令实现将SQL*Plus中的输出结果复制到一个指定的文件中,或者把查询结果发送到打印机中,直到使用SPOOL OFF命令为止。SPOOL命令的语法如下:
    SPO[OL] [ file_name [ CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT ]
    语法说明如下。
    file_name:指定一个操作系统文件。
    CREATE:创建一个指定的file_name文件。
    REPLACE:如果指定的文件已经存在,则替换该文件。
    APPEND:将内容附加到一个已经存在的文件中。
    OFF:停止将SQL*Plus中的输出结果复制到file_name文件中,并关闭该文件。
    OUT:启动该功能,将SQL*Plus中的输出结果复制到file_name指定的文件中。
     
    SQL>spool scott_emp_outcome.txt append
    SQL>/
    9.使用临时变量&符号
    SQL>select empno,ename from scott.emp  where empno<&temp;

    输入 temp 的值:  7600

    原值    1: select empno,ename from scott.emp  where empno<&temp

    新值    1: select empno,ename from scott.emp  where empno<7600

         EMPNO ENAME

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

      7369 SMITH      

      7499 ALLEN      

      7521 WARD      

      7566 JONES

     9.2使用临时变量&&符号,避免为同一变量两次赋值信息提示
    select &&colomn_name ,deptno from scott.emp where &&colomn_name>=7800;
     
    10.使用verifyset define命令
    set verify[on|off]指定是否输出原值新值信息
    set define用于指定一个字符作为变量字符(&除外)
    例子:使用set define将变量定义字符设置为@,并执行一个查询
    SQL>set define '@'
    SQL>select empno,deptno from scott.emp where empno = @temp; 
    在脚本文件中也可以使用临时变量
    11.使用已定义变量

    命令

    说明

    DEF[INE]--对应undefine

    显示所有的已定义变量

    DEF[INE] variable

    显示指定变量的名称、值和其数据类型  

    DEF[INE] variable = value

    创建一个CHAR类型的用户变量,并且为该变量赋初始值

    SQL> define
    DEFINE _DATE           = "18-11月-13" (CHAR)
    DEFINE _CONNECT_IDENTIFIER = "orcl" (CHAR)
    DEFINE _USER           = "SYS" (CHAR)
    DEFINE _PRIVILEGE      = "AS SYSDBA" (CHAR)
    DEFINE _SQLPLUS_RELEASE = "1102000100" (CHAR)
    DEFINE _EDITOR         = "Notepad" (CHAR)
    DEFINE _O_VERSION      = "Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options" (CHAR)
    DEFINE _O_RELEASE      = "1102000100" (CHAR)
    DEFINE _RC             = "0" (CHAR)
    DEFINE COLOMN_NAME     = "5" (CHAR)
    DEFINE COLOMN_NAME1    = "1" (CHAR)

    例子:
    SQL> define temp=7800
    SQL> define temp
    DEFINE TEMP            = "7800" (CHAR)
    SQL>select empno from scott.emp where empno>=&temp;
     
    12.使用accpet命令
    ¤使用ACCEPT命令也可以定义变量,并且定制一个用户提示,用于提示用户输入指定变量的数据。
    ¤ACCEPT命令的语法如下:
    |ACC[EPT] variable [ data_type ] [ FOR[MAT] format ] [ DEF[AULT] default ]
    |[ PROMPT text | NOPR[OMPT] ] [ HIDE ]
    format格式包括A15(15个字符),9999(4个数字),DD-MON-YYYY(日期)
    例:
    SQL>accept temp number format 9999 prompt '请输入一个empno值:'
     
    SQL>select empno,deptno from scott.emp where empno = &temp;
     
  • 相关阅读:
    HDU 1561 The more, The Better 经典树形DP
    hdu Anniversary party 树形DP,点带有值。求MAX
    hdu 3466 Proud Merchants 01背包变形
    一个简单的网站首页制作
    linux系统下who&who am i与whoami的区别,以及与select * from dba_users的区别
    linux系统下who&who am i与whoami的区别,以及与select * from dba_users的区别
    如何通过SecureCRTPortable.exe 软件远程连接某个计算机(或者虚拟机)中的某个数据库
    如何通过SecureCRTPortable.exe 软件远程连接某个计算机(或者虚拟机)中的某个数据库
    主键自增长
    主键自增长
  • 原文地址:https://www.cnblogs.com/xiaoliu66007/p/3429389.html
Copyright © 2020-2023  润新知