SQL 支持下列類別的命令:html
1.數據定義語言(DDL)sql
2.數據操縱語言(DML)數據庫
3.事務控制語言(TCL)學習
4.數據控制語言(DCL)spa
下面是這四種SQL語言的詳細筆記:code
Oracle學習筆記三 SQL命令(二):SQL操做語言類別視頻
建立表時,必須爲各個列指定數據類型htm
如下是 Oracle 數據類型的類別:對象
當須要固定長度的字符串時,使用 CHAR 數據類型。blog
CHAR 數據類型存儲字母數字值。
CHAR 數據類型的列長度能夠是 1 到 2000 個字節。
VARCHAR2數據類型支持可變長度字符串
VARCHAR2數據類型存儲字母數字值
VARCHAR2數據類型的大小在1至4000個字節範圍內
LONG 數據類型存儲可變長度字符數據
LONG 數據類型最多能存儲 2GB
一張表中只能出來一次
不能在Long類型的列上創建主鍵,惟一約束,索引
不能用於存儲過程的參數類型
數值數據類型
1.能夠存儲整數、浮點數和實數
2.最高精度爲 38 位
數值數據類型的聲明語法:
1.NUMBER [( p[, s])]
2.P表示精度,S表示小數點的位數
日期時間數據類型存儲日期和時間值,包括年、月、日,小時、分鐘、秒
主要的日期時間類型有:
1.DATE - 存儲日期和時間部分,精確到整個的秒
2.TIMESTAMP - 存儲日期、時間和時區信息,秒值精確到小數點後6位
RAW 數據類型用於存儲二進制數據
RAW 數據類型最多能存儲 2000 字節
LONG RAW 數據類型用於存儲可變長度的二進制數據
LONG RAW 數據類型最多能存儲 2 GB
LOB 稱爲「大對象」數據類型,能夠存儲多達 4GB 的非結構化信息,例如聲音剪輯和視頻文件等
LOB 數據類型容許對數據進行高效、隨機、分段的訪問
Oracle 中僞列就像一個表列,可是它並無存儲在表中
僞列能夠從表中查詢,但不能插入、更新和刪除它們的值
經常使用的僞列有ROWID和ROWNUM
ROWID 是表中行的存儲地址,該地址能夠惟一地標識數據庫中的一行,能夠使用 ROWID 僞列快速地定位表中的一行
ROWNUM 是查詢返回的結果集中行的序號,能夠使用它來限制查詢返回的行數
Oracle 支持的 SQL 操做符分類以下:
算術操做符用於執行數值計算
能夠在SQL語句中使用算術表達式,算術表達式由數值數據類型的列名、數值常量和鏈接它們的算術操做符組成
算術操做符包括加(+)、減(-)、乘(*)、除(/)
Select a+b from tablename;
注意:有一列爲null時結果會爲null
比較操做符用於比較兩個表達式的值
比較操做符包括 =、!=、<、>、<=、>=、BETWEEN…AND、IN、LIKE 和 IS NULL ANY ALL 等
Any:任意一個 > any(100, 200, 300);
例:
select * from 表名 where 列名 > any(100, 200, 300);
All:任何一個,全部的;
邏輯操做符用於組合多個計較運算的結果以生成一個或真或假的結果。
邏輯操做符包括與(AND)、或(OR)和非(NOT)。
or(或)
select ename from scott.emp where ename='joke' or ename='jacky'
and(與)
select ename from scott.emp where ename='and' or ename='jacky'
not(非)
select ename from scott.emp where not ename='and' or ename='jacky'
集合操做符將兩個查詢的結果組合成一個結果
union(並集):union鏈接兩句sql語句, 兩句sql語句的和 去掉重複的記錄。
(select deptno from scott.emp) union (select deptno from scott.dept)
union all(並集):接兩句sql語句,兩句sql語句的和不用去掉重複的記錄。
(select deptno from scott.emp) union all (select deptno from scott.dept)
intersect (交集):Intersect鏈接兩句sql語句 取查詢出來的兩個集合的 共同部分。
(select deptno from scott.emp) intersect (select deptno from scott.dept)
minus (補集):Minus 鏈接兩句sql 語句,取查詢出來的兩個集合的差。
(select deptno from scott.emp) minus (select deptno from scott.dept)
鏈接操做符用於將多個字符串或數據值合併成一個字符串
SELECT (venname|| ' 的地址是 ' ||venadd1||' '||venadd2 ||' '||venadd3) address FROM vendor_master WHERE vencode='V001';
經過使用鏈接操做符能夠將表中的多個列合併成邏輯上的一行列
SQL 操做符的優先級從高到低的順序是:
算術操做符 --------最高優先級
鏈接操做符
比較操做符
NOT 邏輯操做符
AND 邏輯操做符
OR 邏輯操做符 --------最低優先級