這篇文章給大家分享的是有關(guān)MySQL中的where關(guān)鍵字如何使用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,專業(yè)領(lǐng)域包括成都網(wǎng)站建設(shè)、網(wǎng)站制作、電商網(wǎng)站制作開發(fā)、小程序制作、微信營銷、系統(tǒng)平臺開發(fā),與其他網(wǎng)站設(shè)計及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!
在mysql中,where關(guān)鍵字需要和SELECT語句一起使用,用于指定查詢條件,即有條件的從數(shù)據(jù)表中查詢并返回數(shù)據(jù);語法“SELECT {*|字段列名} FROM 數(shù)據(jù)表名 WHERE 查詢條件;”。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
在 MySQL 中,如果需要有條件的從數(shù)據(jù)表中查詢數(shù)據(jù),可以使用 WHERE 關(guān)鍵字來指定查詢條件。
使用 WHERE 關(guān)鍵字的語法格式如下:
SELECT {*|字段列名} FROM 數(shù)據(jù)表名 WHERE 查詢條件;
查詢條件可以是:
帶比較運(yùn)算符和邏輯運(yùn)算符的查詢條件
帶 BETWEEN AND 關(guān)鍵字的查詢條件
帶 IS NULL 關(guān)鍵字的查詢條件
帶 IN 關(guān)鍵字的查詢條件
帶 LIKE 關(guān)鍵字的查詢條件
單一條件的查詢語句
單一條件指的是在 WHERE 關(guān)鍵字后只有一個查詢條件。
例 1
在 tb_students_info 數(shù)據(jù)表中查詢身高為 170cm 的學(xué)生姓名,SQL 語句和運(yùn)行結(jié)果如下。
mysql> SELECT name,height FROM tb_students_info -> WHERE height=170; +-------+--------+ | name | height | +-------+--------+ | Susan | 170 | +-------+--------+ 1 row in set (0.17 sec)
可以看到,查詢結(jié)果中記錄的 height 字段的值等于 170。如果根據(jù)指定的條件進(jìn)行查詢時,數(shù)據(jù)表中沒有符合查詢條件的記錄,系統(tǒng)會提示“Empty set(0.00sec)”。
例 2
在 tb_students_info 數(shù)據(jù)表中查詢年齡小于 22 的學(xué)生姓名,SQL 語句和運(yùn)行結(jié)果如下。
mysql> SELECT name,age FROM tb_students_info -> WHERE age<22; +------+------+ | name | age | +------+------+ | John | 21 | +------+------+ 1 row in set (0.05 sec)
可以看到,查詢結(jié)果中所有記錄的 age 字段的值均小于 22 歲,而大于或等于 22 歲的記錄沒有被返回。
多條件的查詢語句
在 WHERE 關(guān)鍵詞后可以有多個查詢條件,這樣能夠使查詢結(jié)果更加精確。多個查詢條件時用邏輯運(yùn)算符 AND(&&)、OR(||)或 XOR 隔開。
AND:記錄滿足所有查詢條件時,才會被查詢出來。
OR:記錄滿足任意一個查詢條件時,才會被查詢出來。
XOR:記錄滿足其中一個條件,并且不滿足另一個條件時,才會被查詢出來。
例 3
在 tb_students_info 表中查詢 age 大于 21,并且 height 大于等于 175 的學(xué)生信息,SQL 語句和運(yùn)行結(jié)果如下。
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 AND height>=175; +--------+------+--------+ | name | age | height | +--------+------+--------+ | Henry | 23 | 185 | | Jim | 24 | 175 | | Thomas | 22 | 178 | +--------+------+--------+ 3 rows in set (0.00 sec)
可以看到,查詢結(jié)果中所有記錄的 age 字段都大于 21 且 height 字段都大于等于 175。
例 4
在 tb_students_info 表中查詢 age 大于 21,或者 height 大于等于 175 的學(xué)生信息,SQL 語句和運(yùn)行結(jié)果如下。
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 OR height>=175; +--------+------+--------+ | name | age | height | +--------+------+--------+ | Dany | 25 | 160 | | Green | 23 | 158 | | Henry | 23 | 185 | | Jane | 22 | 162 | | Jim | 24 | 175 | | Lily | 22 | 165 | | Susan | 23 | 170 | | Thomas | 22 | 178 | | Tom | 23 | 165 | +--------+------+--------+ 9 rows in set (0.00 sec)
可以看到,查詢結(jié)果中所有記錄的 age 字段都大于 21 或者 height 字段都大于等于 175。
例 5
在 tb_students_info 表中查詢 age 大于 21,并且 height 小于 175 的學(xué)生信息和 age 小于 21,并且 height 大于等于 175 的學(xué)生信息,SQL 語句和運(yùn)行結(jié)果如下。
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 XOR height>=175; +-------+------+--------+ | name | age | height | +-------+------+--------+ | Dany | 25 | 160 | | Green | 23 | 158 | | Jane | 22 | 162 | | Lily | 22 | 165 | | Susan | 23 | 170 | | Tom | 23 | 165 | +-------+------+--------+ 7 rows in set (0.00 sec)
可以看到,查詢結(jié)果中所有記錄的 age 字段都大于 21 且 height 字段都小于 175。tb_students_info 數(shù)據(jù)表中沒有 age 字段小于 21 且 height 字段大于等于 175 的記錄。
OR、AND 和 XOR 可以一起使用,但是在使用時要注意運(yùn)算符的優(yōu)先級。
查詢條件越多,查詢出來的記錄就會越少。因為,設(shè)置的條件越多,查詢語句的限制就更多,能夠滿足所有條件的記錄就更少。為了使查詢出來的記錄正是自己想要的,可以在 WHERE 語句中將查詢條件設(shè)置的更加具體。
感謝各位的閱讀!關(guān)于“mysql中的where關(guān)鍵字如何使用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!