mysql 檢索

一抽兆、數(shù)據(jù)檢索

1.基本格式

select [字段名...] from 表名 where 表達(dá)式

2.查詢所有列

select * from 表名 where 表達(dá)式;

*通常會(huì)降低檢索和應(yīng)用程序的性能,能不用盡量不用

3.去重檢索 DISTINCT

mysql>> select DISTINCT 字段 from 表名;

DISTINCT 必須直接放在列名的前面,作用于后面所有列

4.限制結(jié)果

在SQL Server和Access中使用SELECT時(shí),可以使用TOP關(guān)鍵字來(lái)限制最多返回多少行

mysql>> select TOP 5 * from user;

如果你使用MySQL竟宋、MariaDB杈绸、PostgreSQL或者SQLite系奉,需要使用LIMIT 子句,offset 第0行開(kāi)始

mysql>> select * from user LIMIT 5 OFFSET 5;

5.使用注釋

行內(nèi)注釋?zhuān)?/p>

--(兩個(gè)連字符 ,之后的便是注釋文本)

行首注釋?zhuān)?/p>

# 在每一行的行首加# ,注釋整行

多行注釋:

/**/

以上都基于mysql語(yǔ)句

二惭嚣、排序檢索

1.ORDERBY

mysql>> select * from user ORDER BY [字段名...];

保證oder by為select最后一條子句,按后接字段名優(yōu)先級(jí)排序

2.按字段位置排序

mysql>> select * from user ORDER BY 2,3;

按照第二列與第三列排序

3.降序排列

mysql>> select * from user ORDER BY [字段..] DESC;

DESC 只應(yīng)用到直接位于其前面的列名遵湖,所列降序需指定多個(gè)DESC

三、數(shù)據(jù)過(guò)濾

數(shù)據(jù)庫(kù)表一般包含大量的數(shù)據(jù)晚吞,很少需要檢索表中的所有行延旧。通常只會(huì)根據(jù)特定操作或報(bào)告的需要提取表數(shù)據(jù)的子集。只檢索所需數(shù)據(jù)需要指
搜索條件(search criteria)载矿,搜索條件也稱(chēng)為過(guò)濾條件(filter condition)垄潮。

1.where子句操作符

操作符 說(shuō)明
= 等于
<>、!= 不等于
< 小于
<= 小于等于
BETWEEN AND 在指定兩個(gè)值之間
IS NULL 為NULL值

eg:
select * from user where id BETWEEN 5 AND 10;
select * from user where id IS NULL;

null和非匹配

通過(guò)過(guò)濾選擇不包含指定值的所有行時(shí)闷盔,你可能希望返回含NULL值的行弯洗。但是這做不到。因?yàn)槲粗╱nknown)有特殊的含義逢勾,數(shù)據(jù)庫(kù)不知
道它們是否匹配牡整,所以在進(jìn)行匹配過(guò)濾或非匹配過(guò)濾時(shí),不會(huì)返回這些結(jié)果溺拱。
過(guò)濾數(shù)據(jù)時(shí)逃贝,一定要驗(yàn)證被過(guò)濾列中含NULL的行確實(shí)出現(xiàn)在返回的數(shù)據(jù)中

四、高級(jí)數(shù)據(jù)過(guò)濾

用來(lái)聯(lián)結(jié)或改變WHERE子句中的子句的關(guān)鍵字迫摔,也稱(chēng)為邏輯操作符(logical operator)

1.AND操作符

要通過(guò)不止一個(gè)列進(jìn)行過(guò)濾沐扳,可以使用AND操作符給WHERE子句附加條件

mysql>> select * from user where id <10 AND id >2;

2.OR操作符

在第一個(gè)條件滿足時(shí),不管第二個(gè)條件是否滿足句占,相應(yīng)的行都將被檢索出來(lái)

mysql>> select * from user where id <10 OR id >2;

3. WHERE OR 組合使用

mysql>> select * from user where id <10 AND id >2 OR sex = 1;

結(jié)合使用時(shí)沪摄,AND在求值過(guò)程中優(yōu)先級(jí)更高,使用圓括號(hào)可消除歧義

4.IN操作符

IN操作符用來(lái)指定條件范圍,范圍中的每個(gè)條件都可以進(jìn)行匹配

mysql>> select * from user where name IN ('july','tofu');

IN操作符擁有和OR相似的功能

IN操作符優(yōu)點(diǎn):
  • 在有很多合法選項(xiàng)時(shí)杨拐,IN操作符的語(yǔ)法更清楚祈餐,更直觀。
  • 在與其他AND和OR操作符組合使用IN時(shí)哄陶,求值順序更容易管理帆阳。
  • IN操作符一般比一組OR操作符執(zhí)行得更快(在上面這個(gè)合法選項(xiàng)很少的例子中,你看不出性能差異)屋吨。
  • IN的最大優(yōu)點(diǎn)是可以包含其他SELECT語(yǔ)句蜒谤,能夠更動(dòng)態(tài)地建立WHERE子句。

5.NOT操作符

NOT操作符有且只有一個(gè)功能离赫,那就是否定其后所跟的任何條件芭逝,一般和IN配合使用

mysql>> select * from user where NOT id=6 ORDER BY id;

五、通配符(wildcard)過(guò)濾

1.LIKE操作符

通配符搜索只能用于文本字段(串)渊胸,非文本數(shù)據(jù)類(lèi)型字段不能使用通配符搜索
為在搜索子句中使用通配符旬盯,必須使用LIKE操作符。LIKE指示DBMS翎猛,后跟的搜索模式利用通配符匹配而不是簡(jiǎn)單的相等匹配進(jìn)行比較胖翰。

2.百分號(hào)(%)

在搜索串中,%表示任何字符(包括空格)出現(xiàn)任意次數(shù),相當(dāng)于其他模式的切厘,可在任意位置使用萨咳,使用多個(gè),不匹配N(xiāo)ULL*

mysql>> select * from user where name LIKE "lily%";

3.下劃線(_)

下劃線的用途與%一樣疫稿,但它只匹配單個(gè)字符
相當(dāng)于填空培他,一個(gè)字符

mysql>> select * from user where name LIKE "_eo";

4.方括號(hào)([ ])

方括號(hào)([])通配符用來(lái)指定一個(gè)字符集,它必須匹配指定位置(通配符的位置)的一個(gè)字符
只有微軟的Access和SQL Server支持集合

和正則表達(dá)式規(guī)則類(lèi)似

5.通配符技巧

  • 不要過(guò)度使用通配符遗座。如果其他操作符能達(dá)到相同的目的舀凛,應(yīng)該使用其他操作符。
  • 在確實(shí)需要使用通配符時(shí)途蒋,也盡量不要把它們用在搜索模式的開(kāi)始處猛遍。把通配符置于開(kāi)始處,搜索起來(lái)是最慢的号坡。
  • 仔細(xì)注意通配符的位置懊烤。如果放錯(cuò)地方,可能不會(huì)返回想要的數(shù)據(jù)

六宽堆、子查詢

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末腌紧,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子畜隶,更是在濱河造成了極大的恐慌寄啼,老刑警劉巖逮光,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異墩划,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)嗡综,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)乙帮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人极景,你說(shuō)我怎么就攤上這事察净。” “怎么了盼樟?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵氢卡,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我晨缴,道長(zhǎng)译秦,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任击碗,我火速辦了婚禮筑悴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘稍途。我一直安慰自己阁吝,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布械拍。 她就那樣靜靜地躺著突勇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坷虑。 梳的紋絲不亂的頭發(fā)上甲馋,一...
    開(kāi)封第一講書(shū)人閱讀 52,268評(píng)論 1 309
  • 那天,我揣著相機(jī)與錄音猖吴,去河邊找鬼摔刁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛海蔽,可吹牛的內(nèi)容都是我干的共屈。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼党窜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼拗引!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起幌衣,我...
    開(kāi)封第一講書(shū)人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤矾削,失蹤者是張志新(化名)和其女友劉穎壤玫,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體哼凯,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡欲间,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了断部。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片猎贴。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蝴光,靈堂內(nèi)的尸體忽然破棺而出她渴,到底是詐尸還是另有隱情,我是刑警寧澤蔑祟,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布趁耗,位于F島的核電站,受9級(jí)特大地震影響疆虚,放射性物質(zhì)發(fā)生泄漏苛败。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一装蓬、第九天 我趴在偏房一處隱蔽的房頂上張望著拭。 院中可真熱鬧,春花似錦牍帚、人聲如沸儡遮。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鄙币。三九已至,卻和暖如春蹂随,著一層夾襖步出監(jiān)牢的瞬間十嘿,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工岳锁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绩衷,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓激率,卻偏偏與公主長(zhǎng)得像咳燕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子乒躺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • MYSQL 基礎(chǔ)知識(shí) 1 MySQL數(shù)據(jù)庫(kù)概要 2 簡(jiǎn)單MySQL環(huán)境 3 數(shù)據(jù)的存儲(chǔ)和獲取 4 MySQL基本操...
    Kingtester閱讀 7,820評(píng)論 5 116
  • 觀其大綱 page 01 基礎(chǔ)知識(shí) 1 MySQL數(shù)據(jù)庫(kù)概要 2 簡(jiǎn)單MySQL環(huán)境 3 數(shù)據(jù)的存儲(chǔ)和獲取 4 M...
    周少言閱讀 3,158評(píng)論 0 33
  • 什么是數(shù)據(jù)庫(kù)招盲? 數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)的集合的單獨(dú)的應(yīng)用程序。每個(gè)數(shù)據(jù)庫(kù)具有一個(gè)或多個(gè)不同的API嘉冒,用于創(chuàng)建曹货,訪問(wèn)咆繁,管理...
    chen_000閱讀 4,039評(píng)論 0 19
  • 今天有許多的事情都不順,一早起來(lái)就因?yàn)橛涂ㄎ覄倎?lái)的哥就說(shuō)讓二代給耽擱時(shí)間了顶籽,我們現(xiàn)在基本都是五點(diǎn)就出發(fā)玩般,可二...
    夏俊智爸爸閱讀 101評(píng)論 0 0
  • ----2017年未來(lái)教育家成員葉靖 新教師培訓(xùn)結(jié)束,打開(kāi)手中的調(diào)令礼饱,對(duì)于分到江永二中這...
    葉靖karen閱讀 509評(píng)論 1 4