Oracle常用命令__Oracle

來源:互聯網
上載者:User

1.列出目前使用者的全部表:

select * from tab;

 

2.sqlplus還可以執行作業系統本身的命令。命令格式為:HOST 作業系統命令

例如開啟windows註冊表,使用:host regedit;開啟詞本程式使用:host notepad

 

3.退出sqlplus

exit或quit

 

4.help命令

格式為:help 命令名稱

如:help desc

 

5.清屏命令

clear screen或clear src

在sqlplus中也可以使用host cls;來清屏

 

6.顯示目前使用者

show user

 

7.set linesize 設定行寬

 

8.set pagesize 設定每頁的行數

 

9.distinct關鍵字用來消除重複

 

10.in和not in

 

11.and,or,not,between...and,order by,like

 

12.SQL(structured query language)結構查詢語言

DML(Data Manipulation Language)資料操作語言---用於檢索或者修改資料

DDL(Data Definition Language)資料定義語言 (Data Definition Language)---用於定義資料的結構,如建立、修改或者刪除資料庫物件

DCL(Data Control Language)資料控制語言---用於定義資料庫使用者的許可權

 

13.資料庫系統中,各個資料庫之間的最大區別就在於函數的支援上,使用函數可以完成一系列的操作功能。

 

14.使用ed buf.sql(檔案名稱隨便取),會建立一個buf.sql文字檔,我們的sql指令碼可以寫在buf.sql上。儲存,然後運行@buf.sql(對於*.sql形式的文本,直接運行@buf.sql也可以)。

就可以執行剛才在buf.sql上儲存的sql指令碼。

 

15.針對14,使用start 檔案名稱也可以的。例如,start buf.sql

 

16.視圖是一種特殊的表,是建立在基表上的虛表。它可以由一個基表中選擇的某些行和列組成,也可以由幾個表中滿足一定條件的資料行組成。視圖反映了一個或多個基表的局部

資料,但它本身並不存放資料,其資料仍然儲存在基表中。因此,視圖是基表的一個資料視窗,但通過視圖可對錶中資料操作。視圖是實現對資料的保密及資料安全性的一種手段,

同時也簡化了對資料庫的存取操作。要引用視圖必須先建立視圖,視圖建立後,可以通過視圖對資料庫表中的資料進行查詢、增加、刪除等操作。對已建立的視圖,如果不再使用

也可以將其刪除。

●建立視圖的一般格式為:

create view 視圖名(視圖列表名)

as [select語句]

例如:建立一個視圖,使它包含10號部門職員的職工名、工程、月工資及全年的工資總額的資訊。可輸入如下命令:

create index emp10_view(person,title,salary,annual_sal)

as 

select ename,job,sal,sal*12 from emp where deptno = 10;

 

●視圖的使用

視圖是基表的資料視窗,通過視圖可對基表中資料進行查詢、增加、刪除及修改資料等操作,這對使用者來講,對視圖可如同對錶一樣進行操作。

要求通過視圖emp10_view查詢10號部門中工資低於5000元的職工的有關資訊。並按工資由高到低順序顯示。

select * from emp10_view where salary<5000 order by salary desc;

對基表emp查詢查詢10號部門中工資低於5000元的職工的有關資訊。並按工資由高到低順序顯示。

select * from emp where sal<5000 and deptno=10 order by sal desc;

通過視圖執行查詢與通過對應的基表執行查詢,其結果相同。

對視圖進行查詢,實際是使用者通過視圖對資料庫基表中的資料進行查詢。但使用視圖簡化了使用者查詢命令,因為視圖定義的子查詢中,可帶有一定的條件,這樣對錶進行

複雜查詢的部分條件可放在視圖定義中,所以使用者不需要複雜的條件就能通過視圖獲得相同的資訊。

視圖查詢所用條件"salary<5000"等價於基表所用的查詢條件"deptno=10 and sal<5000"的部分。

通過視圖對錶中對錶中的資料做增,刪,改等更新操作,如同對基表操作一樣,但需要注意以下幾點:

●刪除操作(delete)

①僅能對意表建立的視圖進行操作

②定義視圖的子查詢中,不含有group by子句,distinct子句及各分組函數等項。

●更新操作(update)

①僅能對意表建立的視圖進行操作

②定義視圖的子查詢中,不含有group by子句,distinct子句及各分組函數等項。

③子查詢中沒有定義任何帶有運算式的更新列

●插入操作(insert)

①僅能對意表建立的視圖進行操作

②定義視圖的子查詢中,不含有group by子句,distinct子句及各分組函數等項。

③子查詢中沒有定義任何帶有運算式的更新列

④定義視圖的基表中所有"not null"列,都要在該視圖中出現。

 

●刪除視圖

drop view 視圖名

 

17.子查詢中不能含有"order by"子句,因為子查詢的結果不顯示,只作主查詢的條件。

 

18.in 和not in表示是否包含,是否在;any表示的語義是"至少比..."。all表示的主義是"比所有的都"。

 

19.索引(index)

①建立索引

create [unique] index 索引名 on 表名(欄位...)

如:為emp表建立以empno為索引列的惟一性索引

create unique index index_no on emp(empno);

②刪除索引

drop index 索引名稱

 

20.oracle時間函數

①當前日期

select sysdate from dual; 或者 select current_date from dual;

②to_char函數

●取得時間的年月日

select hiredate,to_char(hiredate,'YYYY') year,to_char(hiredate,'MM') month,to_char(hiredate,'dd') day from emp;

 

 

21.常用聚焦函數

●count():求出全部的記錄籽

●max():求出一組中的最大值

●min():求出一組中的最小值

●avg():求出平均值

●sum():求和

 

22.分組統計

範例:求出每個部門的員工數量

select deptno,count(empno) from emp group by deptno;

如下sql指令碼是錯誤的:select deptno,max(sal) from emp;會提示:不是單組分組函數。需要遵循的如下:

①如果程式中使用了分組函數,則有兩種可以使用的情況。

●程式中存在了group by,並指定了分組條件,這樣可以將分組條件一起查詢出來。

●如果不使用分組的話,則只能單獨使用分組函數

②在使用分組函數時,不能出現分組函數和分組條件之外的欄位

select deptno,empno,count(empno) from emp group by deptno;

這裡會報錯,提示empno不是group by 運算式。這裡違反了②。

③分組函數只能在分組中使用,不允許在where子句中出現。而只能通過having子句。

④全部分組函數都忽略空值(null),只有count(*)除外(注意只有是*的時候不忽略)。

 

23.union運算子

UNION 運算子通過組合其他兩個結果表(例如 TABLE1 和 TABLE2)並消去表中任何重複行而派生出一個結果表。(需要記住它去掉了重複行)當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重複行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。 使用union必須要保證兩個中間結果具有相同的列數,且對應列數的資料類型要一致。

 

 

24.表複製

create talbe 表名 as select * from talbe_name

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.