第二周學(xué)習(xí)日志

寫在前面:2020年9月20日萍聊,星期日,今天是打卡的一天悦析,也是我來到深圳的第一天寿桨。當(dāng)我離開學(xué)校的時候,我知道强戴,我離開了一個最安逸的地方亭螟,面對的將是這個現(xiàn)實(shí)的世界。不管結(jié)果是好是壞骑歹,我邁出了這一步预烙。出發(fā)吧,該去遠(yuǎn)方了道媚。

對于SQL的學(xué)習(xí)扁掸,有點(diǎn)陌生翘县,也有點(diǎn)熟悉。大概是大學(xué)的時候?qū)W過谴分,但是有沒有好好學(xué)吧锈麸。這周要惡補(bǔ)一下。由于時間的關(guān)系牺蹄,這次學(xué)的不是很多忘伞,什么時候才有時間好好學(xué)呢,要自己擠時間吧…

1.SQL : 結(jié)構(gòu)化查詢語言

啟動服務(wù)net start mysql

停止服務(wù)net stop mysql

登錄 mysql -h 主機(jī)名 -P 端口號 -u 用戶名 -p密碼

退出exit

show databases;

use 庫名;

show tables;

show tables from 庫名;不換庫

select database();

create table 表名(字段1 字段類型,字段2 字段類型);

desc 表名;

select * from 表名;

select version();查看版本

說明:SQL 語法不區(qū)分大小寫沙兰,關(guān)鍵字大寫氓奈,表名字段名小寫

命令以分號結(jié)尾

-- 注釋

/* 多行注釋*/

2.DQL查詢語句

1)基礎(chǔ)查詢

select distinct 字段1 as 別名1,字段2 as 別名2 ... from 表名; -- as可省略

select concat(字段1,字段2,字段3) as 別名 from 庫名;

select ifnull(字段名, 返回值) as 別名;

2)條件查詢

條件運(yùn)算符 > < = >= <=<>

邏輯運(yùn)算符and or not

3)模糊查詢

like -- 配合通配符

% -- 任意個字符

_ -- 單個字符

\ -- 轉(zhuǎn)義

escape -- 指定轉(zhuǎn)義

[not] between 區(qū)間頭 and 區(qū)間尾 -- (含首尾,不可交換區(qū)間首尾)

in (值1,值2...)

is [not] null

<=> -- 安全等于

4)排序查詢

order by?排序字段1(可以是表達(dá)式,別名) asc | desc (默認(rèn)asc),排序字段2 [desc]

5)單行函數(shù)

A.字符類

concate() -- 拼接

length() -- 字節(jié)長度

upper() -- 轉(zhuǎn)大寫

lower() -- 轉(zhuǎn)小寫

substr(原字符串,初始索引,截取長度) -- 截子串

instr(原字符串,子串) -- 子串第一次出現(xiàn)索引,無則0

trim() -- 去前后空格

trim(指定字符 from 原字符串) -- 去前后指定字符

lpad(原字符串,總長度,指定填充符) -- 左填充

rpad() -- 右填充

replace(原字符串,要換字符串,替換字符串) -- 替換

B.數(shù)學(xué)類

round(值,精度) -- 四舍五入

ceil() -- 向上取整

floor() -- 向下取整

truncate() -- 截?cái)?/p>

mod() -- 模

rand() (0,1] -- 隨機(jī)數(shù)

C.日期類

now() -- 當(dāng)前系統(tǒng)日期+時間

curdate() -- 當(dāng)前系統(tǒng)日期

curtime() -- 當(dāng)前系統(tǒng)時間

year() month() monthname() day() hour()minute() second()

-- 年月英文月日時分秒

str_to_date() -- 日期轉(zhuǎn)換

date_format() -- 日期格式化

datediff(被減數(shù)日期,減數(shù)日期) -- 日期差天數(shù)

D.系統(tǒng)類

version() -- 當(dāng)前版本

database() -- 當(dāng)前庫

user() -- 當(dāng)前用戶

password('字符') -- 加密

md5('字符') -- md5加密

E.條件分支

if(真值表達(dá)式,真執(zhí)行,假執(zhí)行) 條件執(zhí)行

case 條件表達(dá)式

when 常量1 then 返回值1

when 常量2 then 返回值2

...

else 返回值n+1

end

case

when 條件1 then 返回值1

when 條件2 then 返回值2

...

else 返回值n+1

end

6)分組函數(shù)(聚合函數(shù))

sum([distinct] 數(shù)值) -- 非空和

avg(數(shù)值) -- 非空均值

max(字段) -- 非空最大值

min(字段) -- 非空最小值

count([distinct] 字段) -- 非空計(jì)數(shù)

count(*|1) -- 快速統(tǒng)計(jì)總行數(shù)

7)分組查詢

select 分組函數(shù),分組字段...

where 分組前篩選條件,數(shù)據(jù)源和字段為原始表

group by 分組字段...

having 分組后篩選條件,數(shù)據(jù)源為分組后的結(jié)果集,字段為select后的字段

order by 排序字段[desc];

8)連接查詢(多表查詢)

笛卡爾積 : 多表直接查詢結(jié)果行數(shù)為行1 * 行2 * ...

內(nèi)連接

A.等值連接

select 別名1.字段1,別名2字段2

from 表1 別名1,表2 別名2(表改了別名,select若帶表名則必須用別名)...

where 別名1.字段1=別名2.字段2

and ...

and 篩選條件

group by 分組字段

having 篩選條件

order by 排序字段;

B.非等值連接

select 字段1,字段2

from 表1 別名1,表2 別名2

where 別名1.字段11 between 別名2.字段21 and 別名2.字段22

and ...;

C.自連接

select 別名1.字段1,別名1.字段2...,別名2.字段1,別名2.字段2...

from 表名別名1,表名別名2;

D.內(nèi)連接 inner join (表交集)

select 字段1,字段2...

from 表1 別名1

[inner] join 表2 別名2

on 連接條件1(等值條件|不等值條件)

[inner] join 表3 別名3

on 連接條件2

...

where 篩選條件

group by 分組字段

having 篩選條件

order by 排序字段

...;

外連接(主表并集)

A.左連接left [outer] join

select 字段1,字段2...

from 主表別名1

left join 從表別名2

on 連接條件

where 別名2.id is null

...;

B.右連接 right [outer] join (交換連接表順序等同于左連接)

select 字段1,字段2...

from 從表別名1

right join 主表別名2

on 連接條件

where 別名1.id is null

...;

C.全外連接 full [outer] join (全表并集)

select 字段1,字段2

from 表1 別名1

full join 表2 別名2

on 連接條件

where 別名1.字段1 is null or 別名2.字段2 is null

...;

D.交叉連接 cross join (笛卡爾積)

select 字段1,字段2

from 表1 別名1

cross join 表2 別名2;

9)子查詢

select 僅標(biāo)量子查詢(單行單列)

from 僅表子查詢(多行多列)

where | having 標(biāo)量子查詢

列子查詢(單列)

行子查詢(單行)

exists 表子查詢

A.where或having后的子查詢_標(biāo)量子查詢(搭配> < = >= <= <>)

select 字段

from 表名

where 字段>? <? =?>=? <=? <>(

???select字段 from 表 where 字段=值

)

group by 字段

having 字段> < = >=? <=? <> (標(biāo)量子查詢);

B. where或having后的子查詢_列子查詢(搭配in,not in,any,some,all)

select 字段

from 表名

where 字段[not] in(

? ??select [distinct]字段

???from表名

???where條件

)

...;

in() 等價于=any()

not in() 等價于<>all()

>any() 等價于>min()

>all() 等價于>max()

<any() 等價于

<all() 等價于

C. where或having后的子查詢_行子查詢

select 字段

from 表名

where (字段1,字段2...) = > < >= <= <> (

???select min(字段1),max(字段2)...

???from表名

???...

)

...;

D.select后的子查詢

select 字段2,(

???select字段1 from 表1 where 篩選條件

)

from 表2;

E.from后的子查詢

select 別名1.*,別名2.字段

from (

???select字段1,字段2

???from表1

???group by分組字段

) 別名1

inner join 表2 別名2

on 表1.字段1 between 字段3 and 字段4

...;

F.exists后的子查詢(相關(guān)子查詢)

select exists(select...);

-- 子查詢結(jié)果存在僧凰,查詢結(jié)果為1

-- 子查詢結(jié)果不存在,查詢結(jié)果為0


select 字段

from 表

where exists(select...);

10)分頁查詢

select ...

...

limit offset(起始索引從0開始熟丸,0可省略),size(條目個數(shù));


limit (page-1)*size? size?--分頁公式

11)聯(lián)合查詢


select ...

...

union [all]?--帶all不去重

select ...??--每個查詢列數(shù)必須相同训措,以第一個select字段命名

...

union

...;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市光羞,隨后出現(xiàn)的幾起案子绩鸣,更是在濱河造成了極大的恐慌,老刑警劉巖纱兑,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呀闻,死亡現(xiàn)場離奇詭異,居然都是意外死亡潜慎,警方通過查閱死者的電腦和手機(jī)捡多,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門狡忙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钓账,“玉大人,你說我怎么就攤上這事匀谣〉剐牛” “怎么了科贬?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鳖悠。 經(jīng)常有香客問我榜掌,道長,這世上最難降的妖魔是什么乘综? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任憎账,我火速辦了婚禮,結(jié)果婚禮上卡辰,老公的妹妹穿的比我還像新娘鼠哥。我一直安慰自己熟菲,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布朴恳。 她就那樣靜靜地躺著抄罕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪于颖。 梳的紋絲不亂的頭發(fā)上呆贿,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機(jī)與錄音森渐,去河邊找鬼做入。 笑死,一個胖子當(dāng)著我的面吹牛同衣,可吹牛的內(nèi)容都是我干的竟块。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼耐齐,長吁一口氣:“原來是場噩夢啊……” “哼浪秘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起埠况,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤耸携,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后辕翰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體夺衍,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年喜命,在試婚紗的時候發(fā)現(xiàn)自己被綠了沟沙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡壁榕,死狀恐怖尝胆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情护桦,我是刑警寧澤含衔,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站二庵,受9級特大地震影響贪染,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜催享,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一杭隙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧因妙,春花似錦痰憎、人聲如沸票髓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽洽沟。三九已至,卻和暖如春蜗细,著一層夾襖步出監(jiān)牢的瞬間裆操,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工炉媒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留踪区,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓吊骤,卻偏偏與公主長得像缎岗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子白粉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348