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

(3)sqlplus 環境的設置

我們可以打開SQL*PLUS界面通過屬性的設置來改變其背景顏色、窗口大小、字體顏色、大小等等佈局設置。
①linesize用於設置每一行數據可顯示的數據量大小 ,默認80 。

show linesize
set linesize 160

②pagesize用於設置每一頁的數據量大小 ,默認14。
③column 設置列的屬性

column [columname | columnalias] [option]

[columname | columnalias] :分別爲要設置格式的列名,列的別名
[option] :相關選項見下表

選項 描述
Clear 清除列的格式
Format 顯示格式的設置 :An列寬 L貨幣符號 .小數點位置等等
Heading text 設置列標題
Justify[align] 列標題對齊方式 center left right
Null text 指定爲空值顯示的內容

④pause 用於查詢結果行數多(避免查詢結果太多在屏幕上快速顯示),設置分屏顯示,使用滾動鍵查看。
set pause on | off
⑤ttitle btitie 設置頁眉和頁腳

SQL> set pause on
SQL> set pause off
SQL> ttitle center "scott用戶所擁有的表"
SQL> btitle center "---------scott用戶所擁有的表-----"
SQL> select * from tab;


             scott用戶所擁有的表
TNAME                                                        TABTYPE         CLUSTERID
------------------------------------------------------------ -------------- ----------
ADDRESS                                                      TABLE
BONUS                                                        TABLE
DEPT                                                         TABLE
EMP                                                          TABLE
FSB                                                          TABLE
SALGRADE                                                     TABLE
STU                                                          TABLE
STUDENT                                                      TABLE
STUDENT1                                                     TABLE
STUDENT2                                                     TABLE

      ---------scott用戶所擁有的表-----

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章