sql plus命令使用總結
/* 查詢當前sqlplus的server process的ospid */
SQL> select pid,spid,p.pname,p.program from v$process p,v$session s where p.addr=s.paddr and s.sid=userenv('sid');
PID SPID PNAME PROGRAM
---------- ------- ---------- -----------------------------------
30 2697 oracle@localhost.myrh6 (TNS V1-V3)
/* 不顯露sys密碼的登陸方式
C: > sqlplus
Enter user-name:sys
Enter password:password@myorcl11 as sysdba --以sys使用者登陸的話 必須要加上 as sysdba 子句 */
define _editor=vim
--臨時退出
host,!,$
--執行os command
ho cp [!cp]
/*sql plus命令,執行後,不儲存在sql buffer的記憶體區域中,用來對輸出的結果進行格式化顯示*/
--1. 執行指令碼
SQL>start file_name
SQL>@ file_name
--2. 對當前的輸入進行編輯
SQL>edit
--3. 重新執行上一次執行的sql語句
SQL>/
--4. 將顯示的內容輸出到指定檔案,在螢幕上的所有內容都包含在該檔案中,包括你輸入的sql語句
SQL> SPOOL file_name
--5. 關閉spool輸出,只有關閉spool輸出,才會在輸出檔案中看到輸出的內容
SQL> SPOOL OFF
--6.顯示一個表的結構
SQL> desc table_name
--7. 將一個檔案中的sql語句匯入到sql buffer中
GET file_name
--8. 將sql buffer中的語句儲存到一個檔案中
SAVE /home/oracle/t.sql
--9. 改提示符
SQL>set sqlprompt 'session1>'
/* col命令 */
-- 1. 改變預設的列標題
COLUMN column_name HEADING column_heading
-- 2. 改變列的顯示長度
col ename format a40
-- 3. 設定列標題的對齊方式
col dname jus[tify] right
-- 4. 不讓一個列顯示在螢幕上
col dname nopri[nt]
-- 5. 格式化NUMBER型別列的顯示
col sal format $999.990
-- 6. 顯示列的當前的顯示屬性值
COLUMN column_name
-- 7. 將所有列的顯示屬性設為預設值
CLEAR COLUMNS
/* set命令 */
-- 1. 在用start命令執行一個sql指令碼時,是否顯示指令碼中正在執行的SQL語句
SET ECHO {ON|OFF}
-- 2. 是否顯示當前sql語句查詢或修改的行數
SET FEED[BACK] {6|n|ON|OFF}
-- 3. 是否顯示列標題
SET HEA[DING] {ON|OFF}
-- 4. 設定一行可以容納的字元數
SET LIN[ESIZE] {80|n}
-- 5. 設定一頁有多少行數
SET PAGES[IZE] {24|n}
-- 6. 是否顯示用DBMS_OUTPUT.PUT_LINE包進行輸出的資訊。
SET SERVEROUT[PUT] {ON|OFF}
-- 7. 當SQL語句的長度大於LINESIZE時,是否在顯示時擷取SQL語句.on另起一行,off直接截掉
SET WRA[P] {ON|OFF}
-- 8. 是否在螢幕上顯示輸出的內容,主要用與SPOOL結合使用。
SET TERM[OUT] {ON|OFF}
-- 9. 將SPOOL輸出中每行後面多餘的空格去掉
SET TRIMS[OUT] {ON|OFF}
--10. 顯示每個sql語句花費的執行時間
set TIMING {ON|OFF}
--11. 允許sql語句中間有空行
SET SQLBLANKLINES ON
--12. 設定是否顯示替代變數被替代前後的語句
set verify on/off
--13. 自定義域分割
set colsep ,
/* show 顯示變數的值*/
-- 1. 顯示當前環境變數的值
show all
-- 2. 顯示當前在建立函式、儲存過程、觸發器、包等物件的錯誤資訊
show error
-- 3. 顯示初始化引數的值
show PARAMETER [parameter_name]
-- 4. 顯示資料庫的版本
show REL[EASE]
-- 5. 顯示oracle錯誤資訊程式碼
show sqlcode
/* buffer編輯命令 */
List:列出緩衝區的sql命令
Append:在緩衝區當前行新增內容
Change 字元1 字元2 :改變緩衝區的字元
input:在當前行後增加一行
n:把第n行設定為當前行
edit:編輯緩衝區
run /:執行緩衝區的命令
/* 替代變數,可用&,&&引用,定義替代變數 */
-- 1. 定義, DEFINE 變數名=值
def[ine] job=SALESMAN
select * from emp where job='&job'; --引用時加''
-- 2. 檢視變數,DEFINE [變數]
define [varname]
-- 3. 重新設定替代變數,hide隱藏
acc[ept] 變數名 [ char | date | [ num[ber] ] | binary_float | binary_double ] --變數型別
[ for[mat] format_str ] --格式
[ default default_value ] --變數的預設值
[ { prompt prompt_text } | nopr[ompt] ] --提示資訊
[ hide ] --不顯示使用者輸入,類似於輸入不回顯密碼的輸入
/* 繫結變數 */
-- 1. 定義
SQL> var y numb
Usage: VAR[IABLE] [
VARCHAR2 (n [CHAR|BYTE]) | NCHAR | NCHAR (n) |
NVARCHAR2 (n) | CLOB | NCLOB | BLOB | BFILE
REFCURSOR | BINARY_FLOAT | BINARY_DOUBLE ] ]
SQL> var y varchar2(20)
SQL> var
variable y
datatype VARCHAR2(20)
-- 2.賦值
SQL> exec :y := 'SCOTT'
-- 3.檢視所有,某個變數
SQL> var [y]
SQL> print [y]
-- 4.引用 --如果已經是字元型,不要再加''
SQL> select distinct owner from dba_segments where owner=:y;
/* @與@@的區別
@等於start命令,用來執行一個SQL指令碼檔案。
@命令呼叫當前目錄下的,或指定全路徑,或可以通過SQLPATH環境變數搜尋到的指令碼檔案。
@@用在指令碼檔案中,用來指定用@@執行的檔案與@@所在的檔案在同一目錄,
而不用指定全路徑,也不從SQLPATH環境變數指定的路徑中尋找檔案,一般用在巢狀指令碼檔案中。
*/
/* &與&&的區別
&用來建立一個臨時變數,每當遇到這個臨時變數時,都會提示你輸入一個值。
&&用來建立一個持久變數,就像用用define命令或帶new_vlaue字句的column命令建立的持久變數一樣。
當用&&命令引用這個變數時,只是在第一次遇到時提示一次。
*/
-------------------------------------------------------------------------------
/* 執行過程 */
BEGIN
getDeptCount;
END;
EXEC getDeptCount
CALL getDeptCount();
/* 執行函式 */
exec :dba := dbms_utility.make_data_block_address(4, 20);
print :dba
/* 引數傳遞
1,位置傳遞 exec add_dept(50,'SALES','BEIJING')
2,名稱傳遞 exec add_dept(v_dname=>'SALES',v_deptno=>50,v_loc=>'BEIJING')
3,組合傳遞 exec add_dept(50,v_loc=>'BEIJING,v_dname=>'SALES')
*/
-- $ORACLE_HOME/sqlplus/admin/glogin.sql
define _editor=vim
set linesize 999
set pagesize 9999
set serveroutput on size 1000000
set trimspool on
column plan_plus_exp format a80
/* sqlplus help index */
$ ls /opt/oracle/112/sqlplus/admin/help
helpbld.sql helpdrop.sql helpus.sql hlpbld.sql
--建立
sqlplus system/
--就是把helpus.sql內容插入help表中,所以沒開資料庫的時候,也可以參考看helpus.sql
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28859270/viewspace-775795/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- artisan 命令使用總結
- github使用命令總結Github
- 1.3.3.5.1. SQL*Plus 連線命令語法SQL
- 如何限制使用者能夠在SQL*Plus發出哪些命令以及不能發出哪些命令SQL
- Linux命令總結--mkdir命令Linux
- 3.1.1.1 使用 SQL*Plus 啟動資料庫SQL資料庫
- git命令總結Git
- VIM 命令總結
- adb命令總結
- NPM 命令總結NPM
- docker命令總結Docker
- linux命令總結Linux
- redis命令總結Redis
- pip 命令總結
- SQL查詢總結SQL
- 常用kubectl命令總結
- 自用ssh命令總結
- Linux命令大全總結Linux
- 常用git命令總結Git
- docker命令總結(二)Docker
- Linux命令總結大全Linux
- Linux shell命令總結Linux
- jq命令用法總結
- Mybatis Plus 框架專案落地實踐總結MyBatis框架
- sql注入簡單總結SQL
- mybatis動態sql總結MyBatisSQL
- SQL進階總結(二)SQL
- 1.3.3.5. 步驟4:執行SQL*Plus 連線資料庫命令SQL資料庫
- RMAN命令LIST操作總結
- adb用到的命令總結
- python學習命令總結Python
- Git實戰命令總結Git
- oracle基本命令總結Oracle
- Linux 命令總結之 topLinux
- CentOS 7 systemctl 命令總結CentOS
- c primer plus 章節學習,經驗總結。
- sql中別名as,不寫,以及使用雙引號總結SQL
- SQL語句規範總結SQL
- sql語句學習總結SQL