SQL*PLUS的使用(2)—sqlplus命令
原文見我的QQ空間:http://user.qzone.qq.com/284648964?ptlang=2052
由於原文是寫在我的QQ空間,文章轉過來的過程中造圖片丟失,對大家造成的影響深表歉意!
SQL命令和PL/SQL都是不區分大小寫的
一、sqlplus命令格式:
sqlplus [ [option] [logon] [start] ] 支持縮寫。
1. option選項:一些參數,常用的三個。
-H [ELP] 獲取幫助
-V [ERSION]sqlplus版本,不是ORCLE數據庫的版本。通常是高版本的客戶端可以連接到低版本的服務端。
-S[ILENT]以批處理方式運行腳本時,常用的選項。
2.logon指定連接服務器的字符串。
{[username]/[password]/[@connect_identifier] [as {sysoper|sysdab|sysasm]}]/nolog
connect_identifier在tnsnames.ora文件中指定的,這個文件存儲在客戶端。
tnsnames.ora在10G中的位置
C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
tnsnames.ora在11G中的位置
C:\oracle\network\admin\tnsnames.ora
例如: SYS/ZWT123@ORCL AS SYSDBA /NOLOG
NOLOG 不連接數據庫,進入SQLPLUS。
基於安全性考慮,不要使用USERNAME/PASSWORD 格式。演示一下:
我們在任務管理器裏面看一下:
管理員的密碼很容易被人竊取了。
3.START 啓動的腳本。
二、SQL BUFFER,SQL緩衝區存儲最近一條SQL語句,最近一個PL/SQL語句塊,不儲存SQL*PLUS命令。
LIST 顯示SQL BUFFER中的命令。
RUN 執行SQL BUFFER中的命令,先顯示命令再執行。
/ 執行SQL BUFFER中的命令,不顯示命令就執行。
save 可以把SQL BUFFER中的SQL語句和PL/SQL語句保存到文件,例如 :
SAVE E:/MYSQLSCRIPT/1.sql
三、安裝SQL*PLUS命令得幫助。
以SYSTEM用戶登錄,然後運行hlpbld.sql.
F:\oracle\product\10.2.0\db_1\sqlplus\admin\help
SQL>@?\product\10.2.0\db_1\sqlplus\admin\help\hlpbld.sql helpus.sql
@表示執行腳本文件,?表示ORACLE_HOME的目錄。
我們以SYSTEM用戶登錄後,先用HELP命令試一下,如果提示爲:
HELP not accessible. 說明幫助沒有安裝。
(1)安裝完畢後,我們可以用HELP INDEX查看所有的SQL*PLUS命令。
(2)退出SQL*PLUS
EXIT 或者QUIT ,或者HOST
(3)查看一下表的定義、視圖定義 DESC(describe)
四、常用一些技巧。
1. 結束SQL語句有三種方法
(1)用分號;結束並執行。
(2)另起一行用 / 結束並執行。
(3)空一行,這種方法不執行語句,只是把它存到了SQL BUFFER中了。
提示:SQL語句過長可以使用“-”來表示續行。
2. 結束PL/SQL語句塊:
(1)用句點. 另起一行,結束不執行,存到SQL BUFFER中。
(2)用/,另起一行,結束執行。
3. 在SQL*PLUS中執行操作系統命令,使用HOST。例如在LINUX系統中的SQL*PLUS中執行,LINUX命令。
host ls -l /home
4. SQL*PLUS與操作系統命令行之間的快速切換
從SQL*PLUS切換到操作系統命令行中,WINDOWS中SQL*PLUS使用$, LINUX中SQL*PLUS使用!,執行完操作系統命令,使用exit,可以再次返回到SQL*PLUS中
5.實現分頁顯示功能(pause)。
show pause可以查看是否啓用的此功能。
show pagesize 查看每頁顯示多少行
set pause on | off
set pagesize 可以
回車可以翻到下一頁
6.實現自動提交功能。
在SQL*PLUS中使用DML(insert update delete)語言時,所執行的結果只是存到緩衝區了,只有使用COMMIT命令,纔會提交到數據庫文件中,正常退出SQL*PLUS也會自動寫到數據庫中。
show autocommit
set autocommit on |off
set autocommit 10 表示執行10條SQL語句才提交一次。每個PL/SQL語句塊算做一條。
7.每行顯示字符大小。
show linesize (顯示LINESIZE)
set linesize 150 (設置LINESIZE大小)
8.使用歷史命令。
以前的版本我沒用過也不知道,10G的版本是可以使用方向鍵可以使用以前用過的命令,學LINUX的命令行了。
如果是在UNIX/LINUX中可以使用ps -ef | grep sql,也可以看到。