oracle學習 第三章 常用的SQL*PLUS命令 ——01

來源:互聯網
上載者:User

標籤:

下面我們開始新的一章學習!

當輸入SQL語句時,該語句被存在SQL緩衝區中(即一個記憶體區)。這個SQL緩衝區很小,只能存一個SQL語句,當下一條SQL語句輸入時,原來在緩衝區中的SQL語句被覆蓋掉。SQL*PLUS是一個工具(環境)。正像我們所看到的,我們可以用它來輸入SQL語句。為了有效輸入和編輯SQL語句,SQL*PLUS還提供了一些常用的命令。與SQL語句不同的是SQL*PLUS的命令是可以縮寫的。下面就簡單的介紹一些常用的SQL*PLUS命令。

3.1 DESC[RIBE]命令

一般在操作之前我們總是想知道表的結構。我們可以使用DESC[RIBE]命令來完成此事。您可以使用例3-1的例子來顯示emp表的結構。

例 3-1

SQL> DESC emp

例 3-1 結果


從例3-1的顯示結果克制:所謂一個表的結構,就是該表中包含了多少個列,每一列的資料類型和它的最大長度,以及該列是否可以為空白(NULL)(也叫約束,這個將在後面的學習中進一步的講解)。

例3-1顯示的結果告訴我們:emp表中包含了8列,其中只有empno這列不可為空,各列資料類型如下:

■ EMPNO列為整數,最大長度為4位

■ ENAME列為長字元型,最大長度為10個字元。

■ JOB 列也為長字元型,最大長度為9個字元。

■ MGR 列為整數,最大長度為4位。

■ HIREDATE列為日期型(我們將在後面的章節中詳細介紹這種資料類型)。

■ SAL為浮點數(即包含小數的數),最大長度為7位,其中有兩位是小數。

■ COMM列也為浮點數,最大長度也是7位,起鬨有兩位是小數。

■ DEPTNO列為整數,最大長度為兩位。

也可以使用例3-2來顯示dept表的結構。

例 3-2 

SQL> DESC dept

例 3-2 結果


例 3-2顯示的結告訴我們:dept表中包含了3個列,其中只有DEPTNO這一列不可為空。各列的資料類型如下:

■ DEPTNO為整數,最大長度為兩位。

■ DNAME列為變長字元型,最大長度為14個字元。

■ LOC列也為變長字元型,最大長度為13個字元。

從上面的例3-1和例3-2可以看出,SQL*PLUS命令的結尾可以不使用分號(;)。

DESC[RIBE]命令是經常使用的SQL*PLUS命令。一般擁有經驗的開發人員(程式員)在使用SQL語句開發程式之前,都要使用DESC[RIBE]命令來查看一下SQL語句要操作的表的結構,因為一旦開發人員清楚了表的結構,可以明顯的減少程式出錯的機率。

3.2 SET LINE[SIZE]{ 80|n}命令

另外一個有用的SQL*PLUS命令是SET LINE[SIZE]{80|n},其中n為自然數,80為預設值。該命令是將顯示屏的顯示輸出置為n個字元那麼寬,80個字元為此命令的預設寬度。

如果想使用例3-3的SQL語句來顯示emp表中所有的列,會發現顯示的結果很難看懂。

例 3-3

SQL> SELECT *  2  FROM emp;

例 3-3 結果


如果您的螢幕足夠大的話,那麼,您可以使用SQL*PLUS命令SET LINE 100,如例3-4.


例3-4

SQL> SET line 100
此時,您就會發現其顯示輸出好懂得多了,因為每一行資料都顯示在同一行上,而不是像例3-3那樣,同一行的結果顯示在兩個不同行上。

3.3 L(LIST)命令和n text命令

為了聯絡SQL*PLUS的命令,我們輸入例3-5的SQL語句。

例 3-5

SQL> SELECT empno,ename,job,sal  2  FROM dept  3  WHERE sal >=1500  4  ORDER BY job,sal DESC;

例 3-5 結果


例3-5顯示的結果告訴我們這個語句顯然是錯誤的,因為我們所有要顯示的列都在emp表中而不是在dept表中。

毛主席說:“錯誤總是難免的,只要改進了就是好同志。”Oracle的設計思想與毛主席他老人家的教誨是一脈相承的。也許是英雄所見略同,也許是繼承了毛澤東的偉大思想,Oracle的SQL*PLUS提供了若干條命令來協助我們發現錯誤和改正錯誤。其中最常用的這類命令之一就是L(LIST)命令,該命令用來顯示SQL緩衝區中的內容。例如,您可以使用L(LIST)命令來顯示您剛剛輸入的SQL語句,如例3-6.

例 3-6

SQL> L

例 3-6 結果


之後可以使用n text 命令來修改出錯的部分,其中n為在SQL緩衝區中的SQL語句的行號,text為替代出錯那部分的SQL語句。因為從L(LIST)命令是的顯示得知是第二行除了錯,所以現在輸入例3-7的命令來修改所犯的錯誤。

例 3-7

SQL> 2 FROM emp
之後,應該再使用例3-8的L(LIST)敏玲來顯示SQL緩衝區的內容,以檢查您的修改是否正確。

例 3-8

SQL> L

例 3-8 結果


例3-8的結果表名您所做的修改準確無誤。那麼我們有怎樣運行這條語句呢?

3.4 ‘/‘(RUN)命令

您當然沒有必要重新輸入這條語句,因為這條語句已經在SQL緩衝區中。Oracle提供了SLQ*PLUS命令‘/’(RUN)來重新運行在SQL緩衝區中的SQL語句。於是您可以輸入例3-9的SQL*PLUS命令來重新運行剛剛修改過的SQL語句。

例 3-9

SQL> /

例 3-9 結果


以上的幾條SQL*PLUS命令無疑為我們修改錯誤提供了方便。但Oracle所提供的這類SQL*PLUS命令遠遠不止這些。



---------------------分割線---------------------

今天的學習就到這,今天主要的學習,SQL緩衝區只有一條SQL語句。四個命令。DESC命令顯示表結構、L顯示SQL緩衝區的語句,n text 修改對應語句、/ 運行SQL緩衝區語句。

周末啦,希望大家有個愉快的周末

oracle學習 第三章 常用的SQL*PLUS命令 ——01

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.