SQL基礎(chǔ)教程(第二版)學(xué)習(xí)筆記

SQL基礎(chǔ)教程(第二版)

1 數(shù)據(jù)庫和SQL

1.1 數(shù)據(jù)庫管理系統(tǒng) DBMS**

  • 層次數(shù)據(jù)庫 HDB

  • 關(guān)系數(shù)據(jù)庫 RDB

RDBMS

  • Oracle
  • SQL server
  • DB2
  • PostgreSQL
  • MySQL
  • 面向?qū)ο髷?shù)據(jù)庫 OODB

  • XML數(shù)據(jù)庫 XMLDB

  • 鍵值存儲系統(tǒng) KVS

1.2 數(shù)據(jù)庫的結(jié)構(gòu)

客戶端 ——SQL語句——> 服務(wù)器 RDBMS <————> 數(shù)據(jù)庫(數(shù)據(jù)保存到硬盤等設(shè)備上)
<——請求的數(shù)據(jù)——

1.3 SQL語句及種類

  • DDL 數(shù)據(jù)庫定義語言

CREATE

DROP :刪除表

ALTER :添加或刪除列( 按列)

  • DML 數(shù)據(jù)庫操縱語言

SELECT

INSERT :插入記錄(按行)

UPDATE :修改數(shù)據(jù)記錄

DELETE :刪除記錄月帝,表保存

  • DCL 數(shù)據(jù)庫控制語言

COMMIT :確認(rèn)數(shù)據(jù)庫變更

ROLLBACK :取消變更

GRANT :賦予用戶操作權(quán)限

REVOKE :取消用戶操作權(quán)限

1.4 數(shù)據(jù)類型指定及約束

  • 數(shù)字型 INTEGER / NUMERIC(n)

  • 字符型 定長CHAR / VARCHAR可變長

  • 日期型

  • NOT NULL 和 PRIMARY KEY

2 基礎(chǔ)查詢

2.1 SELECT

中文別名使用雙引號括起來;

distinct 去重幽污;

where條件選擇嚷辅;

注釋 :單行__ 多行"/" 和"/" 括起來;

2.2 算術(shù)運算符和比較運算符

+ - * / // %

所有包含NULL的計算都為NULL

> < = <> >= <=

字符串比較從第一個字符開始

不能對NULL使用比較運算符距误, 否則為空

2.3 邏輯運算符

NOT AND OR

AND的優(yōu)先級高于OR

SQL的邏輯運算被稱為三值邏輯:真簸搞、假、不確定

3 聚合排序

3.1 聚合函數(shù)

  • COUNT 單列不計算NULL

  • AVG

  • SUM

  • MAX 日期也可以最大最小值計算

  • MIN

聚合函數(shù)會將NULL排除在外准潭,但COUNT除外

3.2 分組 group by

為聚合結(jié)果指定條件使用HAVING而不是WHERE, HAVINGgroup by之后

3.3 排序 order by

指定多個排序 order by col_a asc, col_b desc

NULL會匯集在開頭或者結(jié)尾

3.5 書寫和執(zhí)行順序

書寫順序

SELECT > FROM > WHERE > GROUP BY > HAVING > ORDER BY

執(zhí)行順序

FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY

4 事務(wù)

數(shù)據(jù)的更新趁俊、插入、刪除(MySQL)

START TRANSACTION;
?
DML(INSERT /  DELET  /  UPDATE)
INSERT INTO table_name  VALUES (..., [DEFAULT], ...);
...
?
DELET FROM table_name;
?
UPDATE table_name
SET ...
[WHERE ...];
?
COMMIT/ROLLBACK;

插入默認(rèn)值用 DEFAULT value來約束

DBMS的事務(wù)的四種特性:原子性刑然、統(tǒng)一性则酝、隔離性、持久性闰集。(ACID特性)

5 復(fù)雜查詢

  • 視圖

創(chuàng)建視圖 CREATE VIEW

視圖包含 ”不能使用ORDER BY“ 和 ”可對其進行有限制的更新“兩項限制

刪除視圖 DROP VIEW

  • 子查詢

標(biāo)量子查詢

  • 關(guān)聯(lián)子查詢

WHERE關(guān)聯(lián)沽讹,結(jié)合條件寫在子查詢中

6 函數(shù)、謂詞和case表達式

6.1 函數(shù)

  • 算數(shù)函數(shù)
ABS
ROUND(COL, N)
MOD
  • 字符串函數(shù)
LENGTH
CONCAT(str1, str2) ||
REPLACE(str, target, value)
SUBSTRING(str FROM pos FOR len)
LOWER/ UPPER
  • 日期函數(shù)
EXTRACT(YEAR/MON/DAY/HOUR/MINUTE/SECOND FROM date)
  • 轉(zhuǎn)換函數(shù)
CAST(col AS 類型)  # 類型轉(zhuǎn)換
COALESCE(NULL, value)
  • 聚合函數(shù)

6.2 謂詞

  • LIKE (% _)

  • BETWEEN

  • IN / NOT IN (無法選出NULL數(shù)據(jù)武鲁, IN包含NULL為空)

  • IS NULL / IS NOT NULL

  • EXISTS

6.3 CASE

CASE 
WHEN ... THEN ... 
ELSE ... 
END

7 集合運算

7.1 表加減法

  • UNION

  • UNION ALL

  • EXCEPT

7.2 表聯(lián)結(jié)

  • INNER JOIN

  • LEFT JOIN

  • RIGHT JOIN

  • FULL JOIN

  • CROSS JOIN

8 SQL高級處理——窗口函數(shù)

窗口函數(shù)

  • rank 排名相同時跳躍排名爽雄,如1, 1, 3, 4, 5, 5, 7

  • row_number 按行數(shù)順序排名,如1, 2, 3, 4, 5

  • dense_rank 排名相同時不跳躍排名沐鼠,如1, 2, 2, 3, 3, 4, 4, 5

窗口函數(shù)語法

<窗口函數(shù)> OVER ([PARTITION BY col_1] ORDER BY col_2 )


SQL書籍分享

鏈接: https://pan.baidu.com/s/1BfvkSeBoQXTOyW4zM5No-Q 提取碼: vd8g



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末挚瘟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子饲梭,更是在濱河造成了極大的恐慌乘盖,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件憔涉,死亡現(xiàn)場離奇詭異订框,居然都是意外死亡,警方通過查閱死者的電腦和手機兜叨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進店門穿扳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衩侥,“玉大人,你說我怎么就攤上這事矛物∶K溃” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵履羞,是天一觀的道長峦萎。 經(jīng)常有香客問我,道長忆首,這世上最難降的妖魔是什么骨杂? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮雄卷,結(jié)果婚禮上允坚,老公的妹妹穿的比我還像新娘泥畅。我一直安慰自己誓焦,他們只是感情好召锈,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著揣钦,像睡著了一般雳灾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上冯凹,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天谎亩,我揣著相機與錄音,去河邊找鬼宇姚。 笑死匈庭,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的浑劳。 我是一名探鬼主播阱持,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼魔熏!你這毒婦竟也來了衷咽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤蒜绽,失蹤者是張志新(化名)和其女友劉穎镶骗,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體躲雅,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡鼎姊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片此蜈。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡即横,死狀恐怖噪生,靈堂內(nèi)的尸體忽然破棺而出裆赵,到底是詐尸還是另有隱情,我是刑警寧澤跺嗽,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布战授,位于F島的核電站,受9級特大地震影響桨嫁,放射性物質(zhì)發(fā)生泄漏植兰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一璃吧、第九天 我趴在偏房一處隱蔽的房頂上張望楣导。 院中可真熱鬧,春花似錦畜挨、人聲如沸筒繁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毡咏。三九已至,卻和暖如春逮刨,著一層夾襖步出監(jiān)牢的瞬間呕缭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工修己, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留恢总,地道東北人。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓睬愤,卻偏偏與公主長得像离熏,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子戴涝,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354