吳昊+王一冰+吳麗君
摘 要:DB(database)數據庫的簡化縮寫,可以說DB是按照數據結構來組織、存儲和管理數據的倉庫,隨著信息技術和數據管理的需求,使得它出現于90年代,數據管理不僅需要存儲和管理數據,而且要貼合用戶的需求,變成可以對各種數據進行管理和操控的新方式。數據庫技術成為了管理系統、自動化系統等各類使用信息保存內庫的核心部分。
關鍵詞:DB;數據庫;甲骨文
說到數據庫,我們就不得不提到DBMS數據庫管理軟件關系型數據庫,其中按照公司分,市面上的數據庫可以大致分為以下幾類:
Oracle數據庫。具有性能穩定、安全性高等優點,采用標準SQL語句,支持多種數據類型,提供面向對象的數據支持,支持Unix、Windows,但價格稍貴,一般大公司大項目會用到,而甲骨文公司的Oracle產品也是世界上第一個商品化關系型數據庫關系系統。
DB2數據庫,IBM公司的關系型數據庫管理系統。SQL Server數據庫,微軟公司的產品。My SQL開放性的源碼型數據庫是SUN公司基于用戶的開放性的、免費的數據庫操縱軟件,但不幸被Oracle收購。
在數據庫中,所有的數據庫都是用相同或相似的結構化查詢語言,SQL(Structured Query Language)結構化查詢語言它又可以具體的分為以下幾類:
數據定義語言(DDL,Data Definition Language):用于建立、修改、刪除數據庫對象。
CREATE:用于創建表或其他數據對象結構。
ALTER:修改表或其他數據對象結構。
DROP:刪除表或其他數據對象的結構。
TRUNCATE:刪除表數據,保留表結構。
數據操縱語言(DML,Data Manipulation Language):用于改變表中的數據。
INSERT:將數據插入到數據表中。
UPDATE:更新數據表中的已存在的數據。
DELETE:刪除數據表中的數據。
事物控制語言(TCL,Transaction Control Language): 用來維護數據的一致性語句。
COMMIT:提交,確認已經進行的數據改變。
ROLLBACK:回滾,取消已經進行的數據改變。
SAVEPOINT:使當前的事務可以回退到指定的保存點,便于取消部分改變。
數據查詢語言(DQL,Data Query Language):用來查詢所需要的數據。
SELECT:語句
數據控制語言(DCL,Data Control Language):用于執行權限的授予和收回的操作。
GRANT:授予用于給用戶或角色授予權限。
REVOKE:用戶收回用戶或角色已有的權限。
CREATE USER:用戶創建用戶。
NUMBER表示數字類型
經常被定義成NUMBER(p,s)形式,其中p表示數字的總位數,s表示小數點后面的位數。
CHAR類型表示字符串
表示固定長度的字符類型,經常被定義成CHAR(N)形式,N代表占用的字節數,最大長度是2000個字節。
VARCHAR2類型字符串
表示變長字符類型,經常被定義成VARCHAR2(N)形式,N代表占用的字節數,最大長度是4000個字節。
DATE日期類型:用于定義日期時間的數據,長度是7個字節。
CONCAT()函數表示字符串的拼接
例如:select CONCAT(CONCAT(‘A,':'),5000)from dual;
LENGTH()用于返回字符串的長度,值得我們注意的是,如果字符類型是VARCHAR2返回字符的實際長度,如果是CHAR返回固定長度。
UPPER()轉成大寫字母,LOWER()轉換成小寫字母,INITCAP()首字符轉大寫。
TRIM截取兩端字符串,LTRIM截取左端字符串,RTRIM截取右端字符串。
SUBSTR(char,m,n)用字符串的截取,用于獲取字符串的子串,返回char中會從m位開始取n個字符,如果m=0則從首字符開始截取;如果m為負數,則從尾部開始截取;如果n沒有設置數值或者n的長度超過char的長度,則截取到字符串末尾為止,注意下標從1開始。INSTR(char1,char2,n)返回子串char2在源字符串char中的位置,從n的位置開始搜索,沒有指定n的情況從第一個開始搜索。
在DATE日期中,Oracle是經常使用的一個日期類型,其與DATE的區別是不僅可以保存日期和時間,還可以保存小秒數,最高精度可以到ns(納秒)。數據庫內部用7或者11個字節存儲,精度為零。當用7個字節儲存的時候,與DATE功能相當。精度大于0,則用11個字節存儲。SYSDATE獲取當前數據庫所在服務器的系統時間包含毫秒數。如果有需要,我們將日期類型轉換成字符串類型會使用到TO_CHAR(),將字符串類型轉換成日期類型則會使用TO_DATE(‘2016-12-12,‘yyyy-mm-dd')。
查詢表中的數據時用到select * from表名,其中:
select*表示查詢表中的所有字段
select字段名表示查詢表中的指定字段
select+常量 例如1 ‘sdf'表示顯示對應的常量值
select+函數 表示顯示函數運行后的結果
from指要從哪個表中查詢
表查詢的時候可以為查詢結果加別名
使用時在列的后面as+別名(" ")直接寫 as關鍵字可加可不加
如果希望別名中區分大小寫字符,或者別名中包含字符或空格,則必須用雙引號引起來
例句:select empno AS id,ename "Name",salary*12 "Annual Salary" from emp_chen;
與之相比,在查詢語句中我們需要使用比較操作,限制查詢的結果時就需要使用where 子句:
如果和數字比較,可以使用單引號括起來,也可以不用。
如果是和字符串及日期類型比較數據,則必須用單引號括起來。
例句:select * from emp_chen where deptno=10;
以上就為大家介紹這些Oracle數據庫的基本操作語言。
參考文獻:
[1] 西爾伯沙茨(美),等.數據庫系統概念(第6版)[M].楊冬青,等,譯.北京:機械工業出版社,2012.
[2] Thomas Kyte,Darl Kuhn(美). Oracle編程藝術深入理解數據庫體系結構(第3版)[M].北京:人民郵電出版社,2012.
[3] 厄茲敘(德),Valduriez.P(德).分布式數據庫系統原理(第3版)[M].周立柱,等,譯.北京:清華大學出版社,2014.