首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

SQL*Plus 核心命令大全:從入門到精通

     編輯:Oracle 資料庫基礎

SQL*Plus 概述

SQL*Plus 是 Oracle 官方提供的命令行交互工具,分為 sqlplus.exe(控制台)與 sqlplusw.exe(圖形界面,已棄用)兩種形態。它是 DBA 和開發者最基礎、最通用的數據庫操作入口,功能涵蓋:

  • 數據庫啟停、備份恢復等維護操作
  • SQL/PLSQL 執行與調試
  • 腳本批量執行與報表生成
  • 數據導出(SPOOL)與導入輔助
  • 應用程序集成調用(如安裝腳本部署)

DUAL 偽表妙用

DUAL 是 Oracle 內建的單行單列視圖,常用於:

  • 獲取系統函數值:SELECT SYSDATE FROM DUAL;
  • 計算表達式:SELECT 21+15*3 FROM DUAL;
  • 序列取值:SELECT SEQ.NEXTVAL FROM DUAL;

注意:嚴禁對 DUAL 執行 DDL/DML 操作。

啟動方式與連接字符串

方式命令範例說明
無參數啟動sqlplus /nolog進入提示符後再 CONNECT
直接連接sqlplus user/pass本地默認實例
TNS 連接sqlplus user/pass@tns_alias遠程實例
啟動執行腳本sqlplus user/pass@tns @script.sql自動執行腳本並退出

核心編輯命令(緩存區操作)

SQL*Plus 保留最近一條 SQL/PLSQL 在緩存區,支持以下操作:

命令縮寫功能
LIST [n]L [n]顯示緩存區第 n 行(省略則全顯),並定位當前行
CHANGE /old/newC /old/new修改當前行字符串
INPUTI在當前行後插入新行,以 . 結束
DEL [n]刪除當前行或指定行
EDIT調用系統編輯器(Notepad/vi)編輯緩存區
SAVE file [REP|APP]存緩存區到文件
GET file載入文件到緩存區
/執行緩存區命令

HELP 與 DESCRIBE:元數據查詢利器

  • HELP COMMAND:查看命令語法,如 HELP CONNECT
  • DESC[RIBE] object:查看表結構、視圖、函數/過程簽名,極其高頻

所有命令均可用前 4 字母縮寫(如 DESC、COL、SPO)。

SPOOL 輸出重定向

SPOOL file_name[.ext] [CRE[ATE]|REP[LACE]|APP[END]]  -- 開啟輸出
SPOOL OFF                                              -- 關閉並寫入磁盤
SPOOL OUT                                              -- 關閉並發送到打印機(舊版)

主要用途:

  1. 數據導出生成文本/CSV
  2. 腳本執行日誌記錄
  3. 動態生成 SQL 腳本(配合 SET HEADING OFF FEEDBACK OFF)

實用會話設置命令速查

命令作用推薦值
SET LINESIZE 32767防止長行截斷32767
SET PAGESIZE 0取消分頁抬頭0
SET FEEDBACK OFF隱藏「已選擇 n 行」OFF
SET HEADING OFF隱藏列標題OFF
SET TRIMSPOOL ON去除行尾空格ON
SET TAB OFF禁用製表符對齊OFF
SET COLSEP ','CSV 列分隔','
SET NUMFORMAT 999999.99數字顯示格式視需求

腳本調用與變量

  • @script.sql:當前目錄或 SQLPATH 下執行
  • @@script.sql:相對調用腳本所在目錄執行(嵌套腳本必用)
  • DEFINE var=value / UNDEFINE var:定義/釋放替換變量
  • &var / &&var:單次/持久替換變量引用
  • ACCEPT var PROMPT 'msg':交互式輸入變量
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved