天天看點

Oracle快速入門(2)-sqlplus常用指令

1、set指令

set lin[esize]  1000   #設定一行中顯示的最多字元總數,預設80,show lin檢視目前值

set pages[ize]  1000 #設定一頁顯示的行數,預設14,show pages檢視目前值

set time on #設定SQL*Plus指令提示符前顯示目前時間

2、desc指令

在輸入SQL途中,可使用desc檢視表結構、視圖、過程、函數等,例如:

01:35:50 SQL> desc cyf
 Name Null? Type
 ----------------------------------------- -------- ----------------------------
 ID NUMBER(38)
 NAME VARCHAR2(30)

01:35:50 SQL> select id,name from cyf;
        ID NAME
---------- ------------------------------------------------------------
         1 cyf
         2 cyf2

01:36:20 SQL> 
           

3、spool指令

  把查詢結果輸出到指定檔案中(“spool 檔案名”開始記錄,“spool off”才寫檔案)

01:40:00 SQL> spool /home/oracle/cyf.txt;
01:40:19 SQL> select * from cyf;

        ID NAME
---------- ------------------------------------------------------------
         1 cyf
         2 cyf2

01:40:39 SQL> select * from cyf;

        ID NAME
---------- ------------------------------------------------------------
         1 cyf
         2 cyf2

01:40:59 SQL> spool off;
01:41:04 SQL> 
           

此時在/home/oracle下即生成cyf.txt檔案,内容如下:

Oracle快速入門(2)-sqlplus常用指令

4、DEFINE指令

  define定義的是字元常量,define定義一下常量,然後用&或者&&符号進行引用

Oracle快速入門(2)-sqlplus常用指令

使用&每次都要輸入b的常量

Oracle快速入門(2)-sqlplus常用指令

使用&&第一次輸入即可。

5、設定oracle sqlplus中的Edit編輯模式

SQL> define_editor=vi
SQL>select status from v$instance;
SQL>ed
           

此時可以看到用vi打開了編輯模式。 

6、save指令

  把緩沖區的SQL語句寫到檔案

SQL> select * from cyf where id=1;

        ID NAME
---------- ------------------------------------------------------------
         1 cyf1

SQL> save /home/oracle/a replace
Wrote file /home/oracle/a.sql
SQL> 
           

7、get指令

  把一個sql腳本檔案的内容放進sql緩沖區

SQL> get /home/oracle/a.sql
  1  select * from cyf where id=1;
  2* select * from cyf;
SQL>
           

8、start和@指令

  執行sql檔案,相當于mysql的source

SQL> start /home/oracle/a.sql    # “@ /home/oracle/a.sql”效果一樣

        ID NAME
---------- ------------------------------------------------------------
         1 cyf1


        ID NAME
---------- ------------------------------------------------------------
         1 cyf1
         2 cyf2

SQL> 
           

9、column指令的heading選項

SQL> col id heading 編号
SQL> col name heading 姓名
SQL> select * from cyf;

    編号 姓名
---------- ------------------------------------------------------------
         1 cyf1
         2 cyf2

SQL>