Oracle常用SQL語句大全


常用Oracle數據庫SQL語句匯總。

1、常用操作

--清空回收站
purge recyclebin;
--查詢回收站
select * from recyclebin
--查詢Oracle版本信息
select * from v$version
--查詢Oracle數據庫字符集
select userenv('language') from dual

--清除表數據的2種方法

①delete from t

②truncate table t

 區別: 

①delete是dml操作;truncate是ddl操作,ddl隱式提交不能回滾

②delete from t可以回滾,truncate table t 不可以回滾

③ truncate table t 執行效率更高,會回收表空間,delete from t執行效率慢,不會回收表空間

④truncate table t高水線下降,delete from t高水線不降(這個不太明白...)自增ID,TRUNCATE后從1開始,DELETE后還是接着自增

--刪除表

drop table T; --刪除后會進入回收站

--徹底刪除表
drop table tb_maintence purge;

 

=====================================================

回收站知識點補充

在oracle中,當刪除一個表時,oracle並沒有真正刪除該表,而是把該表重命名,然后扔到回收站中,使用purge命令來清空回收站,將會釋放表占用的空間,把這些空間返回給表空間,成為表空間中的自由空間。

一旦空間吃緊,oracle會自動清空回收站中的對象。在oracle清空前,可以找回被刪除的對象,就是把被刪除的對象從回收站中撿回來,即所謂的閃回技術

從回收站中還原被刪除的表instructor

flashback table instructor to before drop

還原並重命名該表

1 flashback table instructor to before drop rename to instructor_restore;

使用desc命令查看表instructor_restore是否已經撿回。

============================================================

Oracle 數據庫桌面類與服務器類的區別:

桌面類――這種安裝方式一般適用於台式機和筆記本。它包含一個最小數據庫和最低的配置需求。
 服務器類――這種安裝方式適用於服務器,例如,它會向您提供數據中心和用於支持企業級的應用程序。如果您需要使用高級配置選項,請選擇此安裝類型。
在桌面類中,只有基本選擇項。
在服務器類,可以選擇標准安裝(僅讓您作有基本選擇)或高級安裝。

在桌面類或典型安裝中,Oracle數據庫將自動安裝示例庫。

綜上,選擇了桌面類,更適合於個人使用,不能進行不同機器的遠程訪問,也就是別人不能連接你的數據庫。

服務器類當然是提供oracle數據庫服務了,還包括監聽服務,用於接收客戶端的連接。

客戶端提供了一套工具,包括開發使用的庫文件、頭文件,類似於informix里面的client sdk, 還是一些實用工具,如sqlplus。客戶端負責和服務器通訊。

============================================================

關於sql server數據庫與oracle數據庫的區別:

oracle:Oracle Database。甲骨文公司的一套  關系數據庫  管理系統。

優點:    可移植性好,使用方便,適用於大、中、小、微型環境。

sql server: 美國Microsoft公司推出的一種 關系型 數據庫。    

兩者的區別:

(1)操作平台不同

Oracle數據庫采用開放的策略目標,它使得客戶可以選擇一種最適合他們特定需要的解決方案。客戶可以利用很多種第三方應用程序、工具。而SQL Server卻只能在Windows上運行了。

但SQL Sever在Window平台上的表現,和Windows操作系統的整體結合程度,使用方便性,和Microsoft開發平台的整合性都比Oracle強的很多。但Windows操作系統的穩定性及可靠性大家是有目共睹的,再說Microsoft公司的策略目標是將客戶都鎖定到Windows平台的環境當中,只有隨着Windows性能的改善,SQL Server才能進一步提高。從操作平台這點上Oracle是完全優勝於SQL Server的了。

也就是說oracle支持多種操作系統,sql server支持windows系統

(2)文件體系結構不同

oracle:

 

數據文件 .dbf(真實數據)

日志文件 .rdo

控制文件 .ctl

參數文件 .ora

sql server:

 

.mdf (數據字典)

.ndf (數據文件)

.ldf (日志文件)

(3)存儲結構不同

oracle存儲結構:

 

在oracle里有兩個塊參數pctfree(填充因子)和pctused(復用因子),可控制塊確定塊本身何時有,何時沒有足夠的空間接受新信息(對塊的存儲情況的分析機制)

這樣可降低數據行連接與行遷移的可能性。塊的大小可設置(oltp塊和dss塊)

在oracle中,將連續的塊組成區,可動態分配區(區的分配可以是等額的也可以是自增長的)可減少空間分配次數

在oraclel里表可以分為多個段,段由多個區組成,每個段可指定分配在哪個表空間里(段的類型分為:數據段、索引段、回滾段、臨時段、cash段。oracle里還可對表進行分區,可按照用戶定義的業務規則、條件或規范,物理的分開磁盤上的數據。

這樣大大降低磁盤爭用的可能性。

 

oracle有七個基本表空間:

·system表空間(存放數據字典和數據管理自身所需的信息)

·rbs回滾表空間

·temp臨時表空間

·tools交互式表空間

·users用戶默認表空間

·indx索引表空間

·dbsys福數據表空間

不同的數據分別放在不同的表空間(數據字典與真實數據分開存放),在oracle里基表(存儲系統參數信息)是加密存儲,任何人都無法訪問。只能通過用戶可視視圖查看。

sql server 存儲結構:

以頁為最小分配單位,每個頁為8k(不可控制,缺乏對頁的存儲情況的分析機制),可將8個連續的頁的組成一個‘擴展’,以進一步減少分配時所耗用的資源。(分配缺乏靈活性),在sql server里數據以表的方式存放,而表是存放在數據庫里。

 

sql server有五個基本數據庫:

·master(數據字典)

·mode(存放樣版)

·tempdb(臨時數據庫)

·msdb(存放調度信息和日志信息)

·pubs(示例數據庫)

真實數據與數據字典存放在一起。對系統參數信息無安全機制。

(4)安全性

 Oracle的安全認證獲得最高認證級別的ISO標准認證,而SQL Server並沒有獲得什么安全認證。這方面證明了Oracle的安全性是高於SQL Server的。

(5)性能方面

SQL Server 多用戶時性能不佳

Oracle 性能最高, 保持windowsNT下的TPC-D和TPC-C的世界記錄。

(6)開放性

SQL Server 只能在windows 上運行,沒有絲毫的開放性,操作系統的系統的穩定對數據庫是十分重要的。Windows9X系列產品是偏重於桌面應用,NT server只適合中小型企業。而且windows平台的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經考驗,尤其是在處理大數據量的關鍵業務時。

Oracle 能在所有主流平台上運行(包括 windows)。完全支持所有的工業標准。采用完全開放策略。可以使客戶選擇最適合的解決方案。對開發商全力支持。

(7)客戶端支持及應用模式

 

SQL Server C/S結構,只支持windows客戶,可以用ADO,DAO,OLEDB ,ODBC連接.

Oracle 多層次網絡計算,支持多種工業標准,可以用ODBC, JDBC,OCI等網絡客戶連接

 

============================================================

PL/SQL Developer導入10萬條以上大量數據技巧:

從開發環境的oracle數據庫給你導出幾十萬條數據,每條數據是insert語句,用於插入到測試環境oracle數據庫,

打開導出的數據文件data.sql,復制到pl/sql中,可能直接就卡死了;

可以通過命令方式執行data.sql文件:在PL/SQL Developer中,文件 -- 新建 -- 命令窗口,

在命令窗口中輸入@,后面接data.sql的絕對路徑,比如:@D:\data.sql,然后回車,然后就開始循環插入了。

但是比較耗時間。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM