Oracle筆記(二) SQLPlus命令


對於Oracle數據庫操作主要使用的是命令行方式,而所有的命令都使用sqlplus完成,對於sqlplus有兩種形式。

  • 一種是dos風格的sqlplus:sqlplus.exe;
  • 另一種是windows風格的sqlplus:sqlplusw.exe;

在Oracle 10g之中主要使用的是sqlplusw命令,因為其可以進行一些顯示數據的調整。

   

此時會找到默認的已經可以使用的數據庫實例。

范例:輸入查詢指令

SELECT * FROM emp;

此時的數據已經可以正常的顯示,但是依然會存在數據折行的問題,因為這個是默認的每行的數據大小,而現在可以通過兩個命令進行調整:

  • 設置每行顯示的記錄長度:SET LINESIZE 300;
  • 設置每頁顯示的記錄長度:SET PAGESIZE 30;

以后這兩個命令統一被稱為格式化命令,但是這些格式化命令在sqlplus下的設置並不是很明顯。

但是sqlplusw雖然顯示上方便一些,可是對於命令的編輯上卻不是很方便,如正常的操作,命令寫錯了,則肯定使用方向鍵移到錯誤的位置上進行修改,但是在sqlplusw之中,方向鍵只能控制屏幕的移動,所以這個命令根本就不適合於編輯,所以在sqlplusw之中提供了ed和@指令,可以進行記事本的調用和執行;

  • 使用ed,調用記事本程序:ed a;

      此時會提示用戶說,現在找不到“a.sql”的文件,詢問是否創建,選擇“是”,但是使用ed打開記事本之后 ,Oracle中的sqlplusw窗口會進入到阻塞狀態,無法使用。

  • 使用@執行程序:@a;

      但是在windows之中,由於提供了許多方便的編輯軟件,所以一般會在外部編輯程序,例如,現在在D盤上建立一個demo.txt的文件,里面保存程序代碼。

      這個時候要讀取在硬盤上的文件,則必須寫上完整的路徑:@D:\demo.txt,而且如果現在這個文件的后綴是“*.sql”的話,則不用輸入文件后綴(demo.sql),輸入:@d:\demo,或者更省事直接輸入:@d:demo。

在一個數據庫之中,會有許多的用戶(現在已知的是四個用戶),這每一個用戶下都會有多張自己的數據表,所以要想查看所有的數據表,則可以使用如下的命令:

SELECT * FROM tab;

而且由於用戶眾多,所以如果要想知道當前的登錄用戶,則可以使用:SHOW USER; 命令完成。

而且在sqlplusw之中也可以直接進行用戶的登錄切換,使用如下的語法完成:

CONN 用戶名/密碼 [AS SYSDBA]

使用sys用戶登錄:CONN sys/change_on_install AS SYSDBA;

但是,一旦使用了sys連接之后,則無法直接查詢emp表數據。

對於每一張表,都有其屬於的用戶,所以一張表的完整名稱是“用戶名.表名稱”或者說是“模式名.表名稱”,所以不同的用戶要想訪問其他用戶的表,則應該加上用戶名,即現在的訪問名稱:

SELECT * FROM scott.emp;

一旦使用了超級管理員登錄的話,可以通過命令手工的控制數據庫實例的打開和關閉;

  • 關閉數據庫實例:SHUTDOWN IMMEDIATE;
    • 一旦關閉之后用戶無法直接連接sqlplusw命令,此時可以先使用“/nolog”登錄,之后使用管理員登錄;
SQL> conn sys/sys as sysdba;
已連接。
SQL> shutdown immediate;
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> 

  •  啟動數據庫實例:STARTUP;

另外,sqlplusw命令窗口也可以調用本機的操作命令,使用“host”作為前綴。

HOST COPY d:\demo.sql d:\hello.txt

以上命令必須掌握,以后肯定會使用到。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM