溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SQL語法很難?其實(shí)只需要記住這部分行了

發(fā)布時(shí)間:2020-07-13 17:02:53 來源:網(wǎng)絡(luò) 閱讀:9793 作者:songfasong 欄目:MySQL數(shù)據(jù)庫

這里給大家分享一個(gè)快速記憶SQL命令的一個(gè)訣竅:

牢牢記住下面這幾個(gè)特殊的語句,SQL命令將不是問題

字符串問題

在標(biāo)準(zhǔn) SQL 中,字符串使用的是單引號(hào)。
如果字符串本身也包括單引號(hào),則使用兩個(gè)單引號(hào)(注意,不是雙引號(hào),字符串中的雙引號(hào)不需要另外轉(zhuǎn)義)

一、select

1.語句【記住】

select *
from user
where username='xiaomin'
order by user_id DESC 
limit 1 offset 2 或者 limit 2,1

'order by user_id DESC' :根據(jù) user_id 倒序排列。如果沒有 DESC 表示正序排列  
'limit' : 設(shè)定返回的記錄數(shù)  
'offset' : 設(shè)定查詢時(shí)偏移個(gè)數(shù),默認(rèn)為0。

2. 難點(diǎn)

問題:

LIMIT 2,1
LIMIT 1 OFFSET 2

這兩個(gè)語句為什么表達(dá)的意思是一樣的呢?

解答:

記住三點(diǎn):
1.在計(jì)算機(jī)中索引都是從0開始的。但是LIMIT、OFFSET后面的數(shù)字只表示個(gè)數(shù),和索引沒有關(guān)系。
2.一般涉及到偏移參數(shù)(偏移3行),這樣的描述都不包含所描述的那個(gè)個(gè)數(shù),即3行數(shù)據(jù)已經(jīng)不在“視野”內(nèi),偏移到“視野外”了,看不見,自然就不包含了。
3.一般涉及到索引參數(shù)(截取索引3到索引5),這樣的描述包含索引2,不包含索引5

LIMIT 2,1 : 表示偏移2行數(shù)據(jù),獲取1個(gè)數(shù)據(jù)。即獲取的是第3行數(shù)據(jù)
LIMIT 1 OFFSET 2 : 表示獲取1個(gè)數(shù)據(jù),但是偏移2行數(shù)據(jù),即獲取的也是第3行數(shù)據(jù)

題外話:
Java和Javascript在字符串截取的時(shí)候都有一個(gè)方法:substring(),都是以索引的值作為參數(shù)的。根據(jù)上面的描述,下面的結(jié)果不難得出來。

//表示開始的索引值和結(jié)束的索引值

"0123456789".substring(3); //3456789
"0123456789".substring(3,5); //34

二、insert

    insert into user(name,age) values ('song',18)

三、update

update user set age=18 where id=3

三、delete

delete from user where id=4

四、多表查詢

1. join ... on ... (內(nèi)連接,或等值連接)

連接兩張表,只返回滿足條件的數(shù)據(jù)。

user 表和 permission表:

select user.name , permission.type from user
join permission on permission.id = user.id

2. left join ... on ... (左連接)

獲取左表所有記錄,即使右表沒有對(duì)應(yīng)匹配的記錄,并將沒有匹配的右表字段記為null。

user 表和 permission表:

select user.name , permission.type from user
left join permission on permission.id = user.id

當(dāng)然上面的僅僅可以滿足日常開發(fā)需求,但是對(duì)于本身就不容易記的SQL語句,你是不是又學(xué)到了比較好的記憶方法呢?

希望本文對(duì)你有幫助。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI