天天看點

GS | 互動指令說明

[GS 3.1]

 1 執行上一條SQL

\\

Tank> select * from t1;

ID NAME
-- ----
 1 Tank

1 row selected.

Tank> \\

ID NAME
-- ----
 1 Tank

1 row selected.
           

2 編輯最近執行的SQL

\ed

\edit

Tank> select * from t1;

ID NAME
-- ----
 1 Tank

1 row selected.

Tank> \ed

select * from t1
           

3 在用戶端中執行OS指令

\host

\ho

\!

Tank> \ho  
[[email protected] ~]$ exit
exit

Tank> \!   
[[email protected] ~]$ exit
exit

Tank> \! pwd
/home/gs

Tank> 
           

4 顯示執行過的SQL

\hi

\history

gSQL> select * from t1;

ID NAME
-- ----
 1 Tank

1 row selected.

gSQL> select * from dual;

DUMMY
-----
X    

1 row selected.

gSQL> \hi    

ID SQL               
-- ------------------
 1 select * from t1  
 2 select * from dual

gSQL> \1

ID NAME
-- ----
 1 Tank

1 row selected.
           

5 調用腳本

Tank> \i '1.sql'
select * from t1;

ID NAME
-- ----
 1 Tank

1 row selected.

Tank> !cat 1.sql
select * from t1;
           

6 設定自動送出

\set autocommit [on | off]

Tank> \set autocommit on
Tank> \set autocommit off
           

7 輸出執行計劃

\set autotrace on

輸出結果+執行計劃

\set autotrace traceonly

隻輸出執行計劃

\set autotrace off

不輸出執行計劃(預設)

Tank> \set autotrace on
Tank> select * from t1;

ID NAME
-- ----
 1 Tank

1 row selected.

>>>  start print plan

< Execution Plan >
==================================================================================================
|  IDX  |  NODE DESCRIPTION                                            |                    ROWS |
--------------------------------------------------------------------------------------------------
|    0  |  SELECT STATEMENT                                            |                         |
|    1  |    TABLE ACCESS ("T1")                                       |                       1 |
==================================================================================================

     1  -  READ COLUMNS : ID, NAME

<<<  end print plan


Tank> \set autotrace traceonly
Tank> select * from t1;


>>>  start print plan

< Execution Plan >
==================================================================================================
|  IDX  |  NODE DESCRIPTION                                            |                    ROWS |
--------------------------------------------------------------------------------------------------
|    0  |  SELECT STATEMENT                                            |                         |
|    1  |    TABLE ACCESS ("T1")                                       |                       0 |
==================================================================================================

     1  -  READ COLUMNS : ID, NAME

<<<  end print plan


Tank> \set autotrace off
           

作用與\explain plan相同:

\explain plan on

輸出結果+執行計劃

\explain plan only

隻輸出執行計劃

 \explain plan

未指定on或only時,預設為on

8 設定顔色用于區分輸出行

\set color on

每行的輸出顔色不同

\set color off

每行的輸出顔色相同(預設值)

GS | 互動指令說明

9 設定輸出結果字段長度

\set colsize number
           

10 設定輸出結果的行大小

\set linesize number
           

11 設定每頁顯示的行數

\set pagesize number
           

12 設定顯示執行時間、

\set time [on | off]

Tank> set timing on
Tank> select * from t1;

ID NAME 
-- -----
 1 Tank 
 2 Bruce
 3 Roy  
 4 Ken  

4 rows selected.

Elapsed time: 0.15800 ms
Tank> set timing off
           

13 儲存輸出結果到檔案

\spool 'filename' [CREATE | REPLACE | APPEND]

執行SQL

\spool off

Tank> \spool 'output.csv' create 
Tank> select * from t1;

ID NAME 
-- -----
 1 Tank 
 2 Bruce
 3 Roy  
 4 Ken  

4 rows selected.

Tank> \spool off

Tank> !
[[email protected] ~]$ cat output.csv 
Tank> select * from t1;

ID NAME 
-- -----
 1 Tank 
 2 Bruce
 3 Roy  
 4 Ken  

4 rows selected.

Tank> \spool off
           

14 檢視表的定義資訊

\ddl_table table_name

Tank> \ddl_table t1


SET SESSION AUTHORIZATION "TESTUSER"; 
CREATE TABLE "TESTUSER"."T1" 
    ( 
        "ID" NUMBER( 10, 0 )
    ) 
    PCTFREE  10 
    PCTUSED  60 
    INITRANS 4 
    MAXTRANS 8 
    STORAGE 
    ( 
        INITIAL 524288 
        NEXT    262144 
        MINSIZE 524288 
        MAXSIZE 562949953159168 
    ) 
    TABLESPACE "DATA_TBS" 
;
COMMIT;
           

Tank

2019.7.24

https://blog.csdn.net/daiyejava

https://www.cnblogs.com/okey

gs