Oracle學習筆記三 SQL命令

SQL簡介

SQL 支持下列類別的命令:html

1.數據定義語言(DDL)sql

2.數據操縱語言(DML)數據庫

3.事務控制語言(TCL)學習

4.數據控制語言(DCL)spa

 

     

 

       

 

下面是這四種SQL語言的詳細筆記:code

 

Oracle學習筆記三 SQL命令(二):SQL操做語言類別視頻

 

Oracle數據類型

建立表時,必須爲各個列指定數據類型htm

如下是 Oracle 數據類型的類別:對象

字符數據類型

CHAR類型

當須要固定長度的字符串時,使用 CHAR 數據類型。blog

CHAR 數據類型存儲字母數字值。

CHAR 數據類型的列長度能夠是 1 到 2000 個字節。

VARCHAR2類型

VARCHAR2數據類型支持可變長度字符串

VARCHAR2數據類型存儲字母數字值

VARCHAR2數據類型的大小在1至4000個字節範圍內

LONG類型

LONG 數據類型存儲可變長度字符數據

LONG 數據類型最多能存儲 2GB

一張表中只能出來一次

不能在Long類型的列上創建主鍵,惟一約束,索引

不能用於存儲過程的參數類型

數值數據類型

數值數據類型

1.能夠存儲整數、浮點數和實數

2.最高精度爲 38 位

數值數據類型的聲明語法:

1.NUMBER [( p[, s])]

2.P表示精度,S表示小數點的位數

日期時間類型

日期時間數據類型存儲日期和時間值,包括年、月、日,小時、分鐘、秒

主要的日期時間類型有:

1.DATE - 存儲日期和時間部分,精確到整個的秒

2.TIMESTAMP - 存儲日期、時間和時區信息,秒值精確到小數點後6位

RAW/LONG RAW

RAW 數據類型用於存儲二進制數據

RAW 數據類型最多能存儲 2000 字節

LONG RAW 數據類型用於存儲可變長度的二進制數據

LONG RAW 數據類型最多能存儲 2 GB

LOB類型

LOB 稱爲「大對象」數據類型,能夠存儲多達 4GB 的非結構化信息,例如聲音剪輯和視頻文件等

LOB 數據類型容許對數據進行高效、隨機、分段的訪問

僞列

Oracle 中僞列就像一個表列,可是它並無存儲在表中

僞列能夠從表中查詢,但不能插入、更新和刪除它們的值

經常使用的僞列有ROWID和ROWNUM

  ROWID 是表中行的存儲地址,該地址能夠惟一地標識數據庫中的一行,能夠使用 ROWID 僞列快速地定位表中的一行

  ROWNUM 是查詢返回的結果集中行的序號,能夠使用它來限制查詢返回的行數

 SQL 操做符

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   邏輯操做符   --------最低優先級

相關文章
相關標籤/搜索