1。

資料庫 DB(database)=多張表+各表間關係

2。

表的結構

帶列名的列(欄位)

記錄資料的行

唯一標識/主鍵 ID

3。

唯一標識/主鍵 ID

:一個帶ID的欄位來表示資料的唯一性。

4. 聯結 join

:各表之間的聯絡,資料能對應匹配。

5。

建立資料庫: create database <資料庫名>

6。

表的建立: create table <表名>

<列名1><資料型別><該列所需約束>

<列名2><資料型別><該列所需約束>

……

<該表所需約束>

7。 資料型別:

integer

:儲存整數

char

(最大長度):儲存字串,達不到最大長度空格補足

varchar

(最大長度):儲存可變長字串

date

:儲存日期

8。 約束:

default

設定預設值

not null

必須輸入數值

primary key

:主鍵

9。 表的刪除:

drop table

<表名> ,注意無法恢復

10。 表定義的更新:

新增列 :alter table <表名> add column <列名>

刪除列 :alter table <表名> drop column <列名>

11。

查詢書寫及執行順序

Select 5查詢出來

From 1從某表中檢索

Where 2條件過濾

Group by 3 分組

Having 4 對分組結果按條件過濾

Order by 6 排序

12。 書寫基本規則:

以分號結尾(;)

不區分大小寫

字串和日期常數使用單引號(‘’)

13。查詢中:

星號(*) :代表全部列

刪除重複行:Select

distinct

<列名> From<表名>

註釋:(——)後一行 ,(/*)和(*/)間 可以多行

Order by:排序, 預設升序,desc降序

14。 運算子

算術運算子 :+ ,-, * ,/

比較運算子: = ,<>不相等,<=,>=,<,>

邏輯運算子: not 否定,and 並且 ,or 或者 ,is (not) null 是否空值,

true 真,false 假 ,unknown 不確定

15。 資料更新:

資料插入 insert into <表名> (列1,列2,……)values(值1,值2)

資料刪除 delete from <表名>

資料更新 update <表名>set <列名>=<表示式>

16。 事務 :

對錶中資料更新單位。

start transaction ;

DML語句1;DML語句2;……

commit (提交處理)/rollback (取消處理)

17.子查詢

檢視:儲存select 語句,本身不儲存資料。

一次性檢視

用來定義檢視的select語句直接作用於from子句

子查詢作為內層首先執行

注意查詢結果數量:多個需用 in ,all

18。 關聯子查詢:

在同一種類中比較,可以用於分組

Where A表。x列 =B表。y列 (寫在子查詢中)

19。算術函式

abs (數值):絕對值

mod(被除數,除數):求餘

round

(物件,保留小數的位數):四捨五入

20。 字串函式

concat

:拼接

length:長度

lower:小寫轉換

upper :大寫轉換

replace(物件字串,替換前字串,替換後字串):替換

substring(物件字串 from 擷取起始位置 for 擷取字元數)

21。日期函式

current-date :當前日期

current-time :當前時間

current-timestamp :當前時間和日期

extract (日期元素 from 日期):擷取日期元素

22。轉換函式

cast (轉換前的值 as 轉換後的資料型別)

coalesce

(值1,值2……):輸出第一個非null 值,若最終無匹配值輸出null

23。 聚合函式

count 計數

sum求和

avg平均值

max 最大值

min 最小值

24。 謂詞

like

:字串部分一致查詢 ,Where <列名> like ‘ xx

%

’,%代替0以上字串

In

:檢查專案是否在列表中,Where <列名> in(xx,yy,zz……),or的簡便用法

between……and……:範圍查詢(包含臨界值)

is (not)null:查詢是否有空缺值

搜尋替換:

Case

when

<求值表示式>

then

<真值表達式>

when <求值表示式> then <真值表達式>

……

Else

<輸出表達式>

End

25。 集合

對記錄(行)進行運算

union :並集,不保留重複行

union all :保留重複行

intersect :交集

except:差集

26。 聯結join

以列為單位進行聯結

聯結

inner join

select a。<列1>, a。<列2>, a。<列3>……b。<列1>, b。<列2>, b。<列3>……

From a表

(inner) join

b表

On

a。<列名>=b。<列名>

外聯結

left/right join 以左/右表為基準,若無對應值,則顯示null

outer join完整返回左右表值