ORACLE SQL
包括Oracle、DB2、SQL Server、MySQL數(shù)據(jù)庫概述;數(shù)據(jù)定義語言DDL、數(shù)據(jù)操作語言DML、事務(wù)控制語言TCL、數(shù)據(jù)查詢語言DQL、數(shù)據(jù)控制語言DCL語言介紹;NUMBER
、CHAR、VARCHAR2、DATE數(shù)據(jù)庫類型;CHAR和VARCHAR2的存儲(chǔ)編碼、CHAR和VARCHAR2的最大長度、LONG和CLOB類型。
一、數(shù)據(jù)庫概述
1、DB和DBMS
(1)、數(shù)據(jù)庫(Database,jianchengDB)是按照數(shù)據(jù)機(jī)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉庫
注:SQL語句本身不區(qū)分大小寫,但是出于可讀性的目的,我們通常會(huì)將SQL中的關(guān)鍵字全部大寫,非關(guān)鍵字全部小寫
(2)、數(shù)據(jù)庫管理系統(tǒng)(Database Management System,簡稱DBMS):管理數(shù)據(jù)庫的軟件
2、Oracle數(shù)據(jù)庫概述
(1)、Oracle是著名的Oracle(甲骨文)公司的數(shù)據(jù)庫產(chǎn)品
(2)、Oracle是世界上第一個(gè)商品化的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)
(3)、Oracle采用標(biāo)準(zhǔn)SQL(結(jié)構(gòu)化查詢語言),支持多種數(shù)據(jù)類型,提供面向?qū)ο蟮臄?shù)據(jù)支持,具有第四代語言開發(fā)工具,支持UNIX、WINDOWS、OS/2等多種平臺(tái)
(4)、Oracle公司的產(chǎn)品豐富,包括Oracle服務(wù)器、Oracle開發(fā)工具和Oracle應(yīng)用軟件,其中最著名的就是Oracle數(shù)據(jù)
3、DB2數(shù)據(jù)庫概述
(1)、DB2是IBM公司的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)
(2)、DB2有很多不同的版本,可以運(yùn)行在從掌上產(chǎn)品到大型機(jī)不同的終端機(jī)器上
(3)、DB2 Universal Database Personal Edition和DB2 Universal Database Workgroup Edition分別是單用戶和多用戶系統(tǒng),可以運(yùn)行在OS/2和Windows上
(4)、DB2是Oracle的主要競爭對(duì)手
4、SQL Server數(shù)據(jù)庫概述
(1)、Microsoft SQL Server是微軟的產(chǎn)品,運(yùn)行在Windows NT服務(wù)器上
(2)、Microsoft SQL Server的最初版本適用于中小企業(yè),但是應(yīng)用范圍不斷擴(kuò)展,已經(jīng)觸及到大型、跨國企業(yè)的數(shù)據(jù)
5、MySQL數(shù)據(jù)庫概述
(1)、MySQL是開放源代碼的小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),廣泛應(yīng)用在中小型網(wǎng)站中
(2)、總體擁有成本低、規(guī)模較Oracle和DB2小
(3)、2008年1月16日,Sun被Oracle公司收購,所以MySQL現(xiàn)在屬于Oracle公司
二、SQL概述
1、表的概念
(1)、一個(gè)關(guān)系數(shù)據(jù)庫由多個(gè)數(shù)據(jù)表(Table)組成,數(shù)據(jù)表是關(guān)系數(shù)據(jù)庫的基本存儲(chǔ)結(jié)構(gòu)
(2)、表是二維的,由行和列組成
(3)、表的行(Row)是橫排數(shù)據(jù),也被稱作記錄(Record)
(4)、表的列(Column)是縱列數(shù)據(jù),也被稱作字段(Field)
(5)、表和表之間存在關(guān)聯(lián)關(guān)系
2、結(jié)構(gòu)化查詢語言
(1)、SQL(Structured Query Language):結(jié)構(gòu)化查詢語言
(2)、SQL是在關(guān)系數(shù)據(jù)庫上執(zhí)行數(shù)據(jù)操作、檢索及維護(hù)所使用的標(biāo)準(zhǔn)語言,可以用來查詢數(shù)據(jù),操縱數(shù)據(jù),定義數(shù)據(jù),控制數(shù)據(jù)
(3)、所有數(shù)據(jù)庫都使用相同或者相似的語言
(4)、SQL可分為:
-
數(shù)據(jù)定義語言(DDL):Data Definition Language
-
數(shù)據(jù)操作語言(DML):Data Manipulation Language
-
事物控制語言(TCL):Transaction Control Language
-
數(shù)據(jù)查詢語言(DQL):Data Query Language
-
數(shù)據(jù)控制語言(DCL):Data Control Language
3、數(shù)據(jù)定義語言(DDL)
(1)、Data Definition Language:用于建立、修改、刪除數(shù)據(jù)庫對(duì)象
(2)、包括:
-
CREATE:創(chuàng)建表或其他對(duì)象的結(jié)構(gòu)
-
ALTER:修改表或其他對(duì)象的結(jié)構(gòu)
-
DROP:刪除表或其他對(duì)象的結(jié)構(gòu)
-
TRUNCATE:刪除表數(shù)據(jù),保留表結(jié)構(gòu)
4、數(shù)據(jù)操作語言(DML)
(1)、Data Manipulation Language:用于改變數(shù)據(jù)表中的數(shù)據(jù)
(2)、和事務(wù)相關(guān),執(zhí)行完后需要經(jīng)過事務(wù)控制語句提交后才真正的將改變應(yīng)用到數(shù)據(jù)庫中
(3)、包括:
-
INSERT:將數(shù)據(jù)插入到數(shù)據(jù)表中
-
UPDATE:更新數(shù)據(jù)表中已存在的數(shù)據(jù)
-
DELETE:刪除數(shù)據(jù)表中的數(shù)據(jù)
5、事務(wù)控制語言(TCL)
(1)、Transaction Control Language:用來維護(hù)數(shù)據(jù)一致性的語句
(2)、包括:
-
COMMIT:提交,確認(rèn)已經(jīng)進(jìn)行的數(shù)據(jù)改變
-
ROLLBACK:回滾,取消已經(jīng)進(jìn)行的數(shù)據(jù)改變
-
SAVEPOINT:保存點(diǎn),使當(dāng)前的事務(wù)可以回退到指定的保存點(diǎn),便于取消部分改變
6、數(shù)據(jù)查詢語言(DQL)
(1)、Data Query Language:用來查詢所需要的數(shù)據(jù)
(2)包括:SELECT語句
7、數(shù)據(jù)控制語言(DCL)
(1)、Data Control Language:用于執(zhí)行權(quán)限的授予和收回操作
(2)、包括:
-
GRANT:授予,用于給用戶或角色授予權(quán)限
-
REVOKE:用于收回用戶或角色已有的權(quán)限
-
CREATE USER:創(chuàng)建用戶
三、Oracle數(shù)據(jù)類型
1、NUMBER
(1)、NUMBER表示數(shù)字類型
(2)、經(jīng)常被定義成NUMBER(P,S)形式,其中:P表示數(shù)字的總位數(shù),S表示小數(shù)點(diǎn)后面的位數(shù)
(3)、例如在表emp中的sal列的定義如下:sal NUMBER(6,2)
表示sal列中的數(shù)據(jù),整數(shù)位最大為4位,小數(shù)位最大位數(shù)是2位,也就是最大值:9999.99
2、CHAR
(1)、表示固定長度的字符類型
(2)、經(jīng)常被定義成CHAR(N)形式,N表示占用的字節(jié)數(shù)
最大長度是2000字節(jié)
(3)、例如在表emp中的ename列的定義如下:
ename CHAR(20);
表示ename列中最多可存儲(chǔ)20個(gè)字節(jié)的字符串,并且占用的空間是固定的20字節(jié)(如果輸入的字節(jié)數(shù)不足20位,會(huì)在后面補(bǔ)空格)
3、VARCHAR2
(1)、表示變長的字符類型
(2)、定義格式是VARCHAR2(N),N表示最多可占用的字節(jié)數(shù),最大長度是4000字節(jié)
(3)、例如在表emp中的job列的定義如下:
job VARCHAR2(100);
表示job列中最多可存儲(chǔ)長度為100個(gè)字節(jié)的字符串,根據(jù)其中保存的數(shù)據(jù)長度,占用的空間是變化的,最大占用空間為100個(gè)字節(jié)
4、DATE
(1)、用于定義日期時(shí)間的數(shù)據(jù)
(2)、長度是7個(gè)字節(jié),默認(rèn)格式是:DD-MON-RR,例如:11-APR-71
(3)、SYSTEM是一個(gè)系統(tǒng)函數(shù),返回當(dāng)前系統(tǒng)日期和時(shí)間
(4)、例如在表emp中的hiredate列的定義如下:hiredate DATE;
表示hiredate列中存放的是日期數(shù)據(jù)
5、CHAR和VARCHAR2的存儲(chǔ)編碼
(1)、默認(rèn)單位是字節(jié),可指定為字符
-
CHAR(10),等價(jià)于CHAR(10 BYTE)
-
指定單位為字符:CHAR(10 CHAR),20個(gè)字節(jié)
-
VARCHAR2(10),等價(jià)于VARCHAR2(10 BYTE)
-
指定單位為字符:VARCHAR2(10 CHAR),20個(gè)字節(jié)
(2)、每個(gè)英文字符占用一個(gè)字節(jié),每個(gè)中文字符按編碼不同,占用2-4個(gè)字節(jié)
-
ZHS16GBK:2個(gè)字節(jié)
-
UTF-8:2-4個(gè)字節(jié)(變長編碼集)
6、CHAR和VARCHAR2的最大長度
(1)、CHAR最大取值為2000字節(jié),最多保存2000個(gè)英文字符,1000個(gè)漢字(GBK)
(2)、VARCHAR2最大取值為4000字節(jié),最多保存4000個(gè)英文字符,2000個(gè)漢字(GBK)
(3)、CHAR可以不指定長度,默認(rèn)為1,VARCHAR2必須指定長度
7、LONG和CLOB類型
(1)、LONE:VARCHAR2加長版,存儲(chǔ)變長字符串,最多達(dá)2GB的字符串?dāng)?shù)據(jù)
(2)、LONG有諸多限制:每個(gè)表只能有一個(gè)LONG類型列;不能作為主鍵;不能建立索引;不能出現(xiàn)在查詢條件中…
(3)、CLOB:存在定長或變長字符串,最多達(dá)4GB的字符串?dāng)?shù)據(jù)文章來源:http://www.zghlxwxcb.cn/news/detail-484236.html
(4)、ORACLE建議開發(fā)中使用CLOB代替LONG類型文章來源地址http://www.zghlxwxcb.cn/news/detail-484236.html
到了這里,關(guān)于DB(一):數(shù)據(jù)庫概述、SQL概述、Oracle數(shù)據(jù)類型的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!