Oracle(二)SQL*Plus的使用

目錄

如何將用戶解鎖(這裏解鎖常用的scott、hr)

          (1)解鎖用戶

          (2)給解鎖的用戶設置密碼

1.理解SQL*Plus的運行環境

2.HELP命令

 3.SQL*Plus常用命令的使用

       3.1 SET命令

       3.2 DESCRIBE命令

       3.3 PROMPT命令

       3.4 SPOOL命令

       3.5格式化查詢結果

                  COLUMN命令

                   TTITLE和BTITLE命令

       3.6緩存區


 

如何將用戶解鎖(這裏解鎖常用的scott、hr)

          (1)解鎖用戶

                            首先要知道Oracle有哪些用戶:          select * from dba_users;

                             解鎖:                                              alter user Scott account unlock;

          (2)給解鎖的用戶設置密碼

                             設置密碼:                                        alter user scott identified by  password;

 

1.理解SQL*Plus的運行環境

在數據庫系統中,可以使用兩種方式執行命令,一種方式是通過圖形化工具(可以用SQLdeveloper),另一種方式是直接使用各種命令。圖形化工具的特點是直觀、簡單,但是圖形工具靈活性比較差,不利於用戶對命令的理解;而命令則非常靈活,有利於加深用戶對複雜命令選項的理解,並且可以完成某些圖形工具無法完成的任務。

SQL*Plus則是用於執行SQL語句和PL/SQL程序的工具。

2.HELP命令


        SQL*Plus有許多命令,而且每個命令都有大量的選項,要記住每一個命令的所有選項是很困難的(除了比較常用的,其他的都懶得記)。用戶可以使用HELP命令查詢相關的命令信息。SQL*Plus幫助系統可以向用戶提供下面一些信息:命令標題、命令作用描述的文件、命令的縮寫形式、命令中使用的強制參數和可選參數。

 

HELP命令的語法形式:help [topic]    說明:topic參數表示將要查詢的命令名稱。

help index命令,可以查看SQL*Plus命令清單。

 3.SQL*Plus常用命令的使用


       3.1 SET命令

                   SET命令用來設置SQL*Plus的運行環境。語法格式爲:SET    system_option    value 

選項

說明

set linesize {80|n}

設置SQL*Plus在一行中能夠顯示的總字符數,默認值爲80。可以的取值爲任意正整數。

Set  newpage {1|n|none}

設置每頁打印標題前的空行數,默認值爲1

set pagesize {14|n}

設置每頁打印的行數,該值包括NEWPAGE設置的空行數。

set pause{off|on|text}

設置SQL*Plus輸出結果時是否滾動顯示。當取值爲ON時表示輸出結果的每一頁都暫停,用戶按下回車鍵後繼續顯示;取爲字符串時,每次暫停都將顯示該字符串。


       3.2 DESCRIBE命令

                     DESCRIBE命令可以返回數據庫中所存儲的對象的描述。對於表、視圖等對象而言,DESCRIBE命令可以列出其各               個列的名稱以及各個列的屬性。除此之外,DESCRIBE還會輸出過程、函數和程序包的規範


       3.3 PROMPT命令

              使用PROMPT命令可以在屏幕上輸出一行數據,這種輸出方式非常有助於在存儲的腳本文件中向用戶傳遞相應的信息。
              PROMPT命令的語法形式如下:PROMPT prompt_text;
               Prompt_text表示用於指定要在屏幕上顯示的提示信息。  

               用@命令來運行腳本文件 

               先寫個腳本文件,放在某個路徑下(這裏腳本文件裏面是 select  username from  dba_users;

                    

            @命令格式:  @+空格+腳本文件的路徑


       3.4 SPOOL命令

            

使用SPOOL命令可以把查詢結果保存到文件中,或者把查詢結果發送到打印機中。

SPOOL命令的語法格式如下:spool file_name  [create ] | [replace] | [append] | off;
        說明:
                file_name參數用於指定文件的名稱,默認的擴展名爲.LST
                create關鍵字表示創建一個新的文件
                replace關鍵字表示替代已經存在的文件
                append表示把內容附加到一個已經存在的文件中

 

        

               注意:spool命令執行的結果爲:從spool命令開始,直到spool off 間的查詢結果保存到文件中。

       3.5格式化查詢結果

             SQL*Plus提供了大量的命令用於格式化查詢結果,使用這些命令可以對查詢結果進行格式化,以產生用戶需要的報表。                      使用這些命令可以實現重新設置列的標題,重新定義列的值的顯示格式和顯示寬度,爲報表增加頭標題和底標題,                        在報表中顯示當前日期和頁號,也可以爲報表添加新的統計數據等。常用的格式化查詢結果命令包括:COLUMN、                      BTITLE和TTITLE等。

       lCOLUMN命令

                     語法格式:column [ [column_name ] alias | option ]

                      說明:column_name參數用於指定要控制的列名稱。

                                 alias參數用於指定列的別名。

                                 option參數用於指定某個列的顯示格式

    Option選項的取值及意義 

選項

說明

FORMAT

爲列指定顯示格式

HEADING

定義列的標題

JUSTIFY

調整列標題的對齊方式。默認情況是數字列爲右對齊,其他列爲左對齊。可以設置的標題位置值爲:LEFTCENTERRIGHT

ON|OFF

控制顯示屬性的狀態,OFF表示定義的顯示屬性不起作用

WRAPPED

當字符串的長度超過顯示寬度時,將字符串的超出部分摺疊到下一行顯示。

            舉例: 

                         

           說明:9和0都相當與佔位符,9代表一位數字,0不同於9的是0還代表清零,即雖佔位但值爲0(不論真實值是不是0) 

          顯示結果:

                            

          爲查詢的各列指定別名
                 SQL> column empno heading 工作編號
                 SQL> column ename heading 姓名
                 SQL> column sal heading 工資
                 SQL> select empno,ename,sal from emp;

                  

         使用命令查看特定列的顯示屬性:Column 列名
                 例如:column sal
         通過ON/OFF設置某列的顯示屬性是否起作用。
                例如:column sal off 禁用了列的顯示屬性 


       TTITLE和BTITLE命令

                       

          利用TTITLEBTITLE 命令設置打印時每頁的頂部和底部標題。

  TTITLE命令的語法格式:TTITLE [printspec [text| variable]…] |[off|on]

     說明:

              printspec用來設置格式化頭部標題的字句。它可以用如下選項。

     LEFT|CENTER|RIGHT  在當前行中左對齊|中間|右對齊打印

    BLOD 以黑體打印數據

    COL 指定在當前行的第幾列打印頭部標題。

    SKIP 跳到從下一行開始的第幾行,默認值爲1

   off 選項用於禁止打印頭部標題,on用於打印頭部標題

舉例:
SQL> ttitle center '職工信息表'
SQL> btitle left ‘2020/03/31'
SQL> select empno,ename,job,sal from scott.emp;

SQL>  ttitle  center '職工信息表'  skip -      說明:skip- 是本行未完接下行(和英語的分隔-類似)
SQL >  left "頁" SQL.PNO skip                  說明:sql.pno是頁碼
SQL > select empno,ename,sal from scott.emp;

SQL > btitle left _date                                說明:btitle和ttitle類似,前者在底部,後者在頂部。_date是當前時間
 

3.6緩存區

                              SQL*Plus可以在緩存區中存儲用戶最近執行的命令。通過在緩存區中存儲這些命令,用戶可以重新調用、編                                 輯或運行那些最近輸入的SQL語句。編輯緩存區最常用的方法是將緩存區中的內容傳遞到Windows記事本中                                 進行編輯。

                         保存緩存到文件中:save file_name  [create ] | [replace] | [append] ;

                         例如save C:\orclexmp\employee.sql

                         使用命令EDIT  可以對文本內容進行編輯

                 例如: edit c:\orclexmp\employee.sql

                 使用命令:GET命令把一個命令文件的內容放進緩存區使用。

                 語法形式:  Get file_name [.ext] [list|nolist]

                     SQL> get c:\orclexmp\employee.sql             說明:這裏取到緩存中,

                             1* select empno,ename,sal from scott.emp

                              SQL> /                                                              說明:使用  /  執行緩存中的命令

                             注意:/執行存儲在緩存區中最近執行的SQL命名。

                             使用命令LIST查看緩存區中最近執行的SQL命令

                         說明:在查詢語句中,允許使用變量替代查詢條件語句中的常量值,形式爲&變量名。

                         例如:select empno,ename,sal from scott.emp  where sal > &s;

                          使用命令CLEAR BUFFER除緩存區中的內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章