1. 程式人生 > >SQL * PLUS 概述與常用命令

SQL * PLUS 概述與常用命令

簡介

    SQL * PLUS 是使用者與oracle進行互動的客戶端工具。在SQL*PLUS 中,使用者可以執行輸入的SQL語句、PL/SQL 語句,以及各種sql *plus命令,還可以格式化SQL,PL/SQL語句的輸出結果等。

SQL*PLUS的命令型別:

  • SQL : 是指DDL 、DML和DCL命令等
  • PL/SQL : 通過命令編譯的各種過程、函式、觸發器和包等。
  • SQL*PLUS 內部命令 :主要用於設定查詢時結果的格式化,儲存、編輯、檢視和執行SQL或PL/SQL 程式,一節設計一些環境變數等。

(1)啟動與退出:

啟動: ① 開始選單法:開始–>所有程式–>oracle-oraDb11g_home1 -->應用程式開發–>sqlplus輸入使用者名稱,密碼即可 ②命令啟動法:開始–>搜尋程式和檔案–>sqlplus -->找到sqlplus 輸入使用者名稱,密碼即可 退出:

在介面的SQL> 後輸入exit或者quit均可以退出。

(2)命令 *重點

describe命令 可縮寫為desc:

         作用: 返回資料庫中所儲存物件的描述,如對於表、檢視來說desc命令可以列出其各個列的名稱以及各個列的屬性;此外還可以輸出過程、函式 程式包的規範。

desc  scott.emp;       -- 查詢表結構
desc  dbms_output;  --檢視系統dbms_output程式包的結構

prompt命令 :          作用: 用來向螢幕傳送訊息,在我們需要編寫程式與使用者進行互動時,此命令可以給使用者一定的提示。

SQL> prompt "請輸入您的姓名";

"請輸入您的姓名"

define命令和accept命令 :          作用:在sql語句中,需要定義變數時可以使用define和accept命令,變數定以後便可在程式中多次使用,使用undefine命令可以清除所定義的變數。 ①define 用於建立一個數據型別為char的使用者自定義變數

命令 說明
define 顯示所有使用者已定義的變數
define variable 顯示指定變數的名稱,值和資料型別
define variable=value 為使用者建立一個char型別的變數 ,並賦值

①define undefine

SQL> define
    DEFINE _DATE           = "28-9月 -18" (CHAR)
    DEFINE _CONNECT_IDENTIFIER = "orcl" (CHAR)
    DEFINE _USER           = "SCOTT" (CHAR)
	DEFINE _PRIVILEGE      = "" (CHAR)
	DEFINE _SQLPLUS_RELEASE = "1102000100" (CHAR)
	DEFINE _EDITOR         = "Notepad" (CHAR)
	DEFINE _O_VERSION      = "Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
	With the Partitioning, OLAP, Data Mining and Real Application Testing options" (CHAR)
	DEFINE _O_RELEASE      = "1102000100" (CHAR)
SQL> define test =1122
SQL> define test
	DEFINE TEST            = "1122" (CHAR) 
SQL> undefine test

②accept 可以定義一個變數,可可以制定一個使用者提示,用於提示使用者輸入指定的資料

accept varibale [datatype] [format format] [prompt text] [hide]

  • vairbale 指定變數名,如果不存在則新建
  • datatype 制定變臉的資料型別 char munber date 預設為char
  • format 指定變數的格式
  • prompt text 使用者輸入資料之前的提示性文字
  • hide 用於隱藏使用者為變數輸入的值
SQL> accept temptno number prompt "請輸入僱員編號:" hide
請輸入僱員編號:
SQL> select empno ,ename from scott.emp where empno=&tempno;

替換變數:          作用:在oracle資料庫中,可以使用替換變數來臨時儲存有關資料,在執行sql語句時,如果某個變數前面有&符號,執行該sql語句時,系統會提示使用者為該變數提供一個具體的值,如:&、 && ①&替換變數 常用在 while、 order by 子句、列表達式、表名、整個select語句中來替換一些變數。

SQL> select ename ,sal ,job,hiredate from scott.emp where sal >&salnew;
輸入 salnew 的值:  4900
原值    1: select ename ,sal ,job,hiredate from scott.emp where sal >&salnew
新值    1: select ename ,sal ,job,hiredate from scott.emp where sal >4900

ENAME                       SAL JOB                HIREDATE
-------------------- ---------- ------------------ --------------
KING                       5000 PRESIDENT          17-11月-81

注意:如果替換變數是字元型資料,在輸入值時,必須使用單引號將字元型別資料引起來,對字元型別或日期型別資料,在使用中如果用引號引用起來,當輸入替換變數時就可以省略引號了。

SQL> select ename ,sal ,job,hiredate from scott.emp where ename =&salnew;
輸入 salnew 的值:  'BLAKE'
原值    1: select ename ,sal ,job,hiredate from scott.emp where ename =&salnew
新值    1: select ename ,sal ,job,hiredate from scott.emp where ename ='BLAKE'

ENAME                       SAL JOB                HIREDATE
-------------------- ---------- ------------------ --------------
BLAKE                      2850 MANAGER            01-5月 -81

②&&臨時替換變數 在select語句中,如果需要重新使用一個變數並且不希望重新提示輸入該值,那麼可以使用&&替換便令,為了避免為同一個變數提供兩個不同的值,且使得系統為同一個變數值提示一次資訊。

 select empno, ename, &&columnname 
    from emp  where sal>=3000 order by &&columnname;

在這裡插入圖片描述

show命令 show 命令用來顯示當前sqlplus環境中的系統變數、錯誤資訊、初始化引數、當前使用者資訊等。

命令 說明
show all 檢視所有系統變數的值
show errors 檢視錯誤資訊
show parameters 顯示初始化引數的值
show release 檢視資料庫版本
show SGA 檢視SGA的大小(要有許可權)
show sqlcode 顯示資料庫操作之後的狀態程式碼
show user 顯示當前連線的使用者

save命令 在SQL*PLUS中可以執行一條或若干條sql命令,它們被存放在緩衝區中,且緩衝區中只能存放最近剛執行的sql或pl/sql ,(後進的覆蓋之前的),如果要儲存以往執行過的語句,要使用save。

save filename [create] [append] [replace]

filename : 存放語句的文件名 [create] [append] [replace] :create表示文件不存在,新建;append表示文件已經存在 ,追加;replace表示文件已經存在 , 覆蓋。

get命令 上面說過save命令用來儲存,那麼get命令就是用來讀取的,將儲存後的檔案讀取到緩衝區中進行顯示,get命令的語法格式:

get filename

edit命令 使用edit命令可以將緩衝區的內容複製到一個檔案中 ,預設檔案afiedt.buf ,當然也可以制定一個已經命了名存在的檔案。

edit filename

在這裡插入圖片描述

@命令 用於執行存放在指令碼檔案中的命令:與start命令作用相同。

  @ filename

spool命令 將輸出結果以及語句都儲存在文字檔案中。

開始:
spool filename  [create] or [append] or [replace]   out

[create] or [append] or [replace] 三選一 out 啟動該功能。

結束:
spool foff