一缤弦、排序數(shù)據(jù)
按單個(gè)列排序
select * from 表名 order by 列名
按多個(gè)列排序
select * from 表名 order by 列名1,列名2.. --------先按列名1排序茄蚯,若列名1中有多個(gè)相同值镜硕,再按列名2排序
按指定方向排序
select * from 表名 order by 列名1 desc,列名2... --------默認(rèn)排序方向是升序排列茂浮,降序排列需要在列名后加desc關(guān)鍵字双谆,想要多個(gè)列降序排列,則要在每個(gè)列名后加desc關(guān)鍵字(mysql默認(rèn)A和a是相同的席揽,不分大小寫(xiě))
利用order by找最大最小值
select 列名 from 表名 order by 列名 limit 1
二顽馋、過(guò)慮數(shù)據(jù)
使用Where關(guān)鍵字,根據(jù)指定條件搜索數(shù)據(jù)
select * from 表名 where 條件語(yǔ); --------where關(guān)鍵字后的條件語(yǔ)句可以是[=幌羞,!=(不等于), >, <, >=, <=, <>(不等于), between(在指定兩個(gè)值之間)]寸谜;注意:在比較時(shí),數(shù)值不需要使用引號(hào)引起來(lái)新翎,字符串需要使用引號(hào)引起來(lái)程帕;使用between時(shí)住练,格式為:where 列名 between 值1 and 值2地啰,檢索的值包括初始值和結(jié)束值愁拭;
過(guò)濾空值
select * from 表名 where 列名 is null; --------檢測(cè)空值,使用is null 關(guān)鍵字
帶邏輯操作符[and, or]的where 語(yǔ)句
select * from 表名 where 條件語(yǔ)句1 邏輯操作符 條件語(yǔ)句2; --------注意:如果有一條語(yǔ)句中有多個(gè)邏輯操作符亏吝,計(jì)算優(yōu)先級(jí)為and>or岭埠,可以使用小括號(hào)分組操作,避免出錯(cuò)
in操作符
**select * from 表名 where 列名 in (值1蔚鸥,值2...); -------- 小括號(hào)中為值清單惜论,不是區(qū)間,in的作用與or差不多止喷,但是in的語(yǔ)法更清晰直觀馆类,執(zhí)行更快,可以包含其他select語(yǔ)句
not 操作符
select * from 表名 where 列名 not in (值1弹谁,值2...); --------not乾巧,用來(lái)否定跟在后面的條件
三、 使用通配符進(jìn)行過(guò)濾
想要使用通配符進(jìn)行過(guò)濾预愤,必須要使用like操作符沟于,表示后跟的搜索模式為通配符匹配,而不是直接相等匹配進(jìn)行比較
百分號(hào)(%)
select 列名 from 表名 where 列名 like '愛(ài)%'; --------表示搜索列名中值為以愛(ài)開(kāi)頭的所有值植康。%旷太,表示任何字符出現(xiàn)任意字?jǐn)?shù),但不能匹配null销睁。注意:在一條語(yǔ)句中供璧,可以在任意位置使用多個(gè)、多次通配符冻记。
下劃線 _
-------用法與百分號(hào)一致嗜傅,但僅匹配一個(gè)字符。
通配符使用技巧
通配符搜索時(shí)間長(zhǎng)檩赢,不要過(guò)度使用
正則表達(dá)式匹配
select 列名 from 表名 where 列名 regexp ’正則表達(dá)式‘