mysql where關鍵字怎麼用

青灯夜游
發布: 2022-02-24 19:04:43
原創
5686 人瀏覽過

在mysql中,where關鍵字需要和SELECT語句一起使用,用於指定查詢條件,即有條件的從資料表中查詢並傳回資料;語法「SELECT {*|欄位列名} FROM資料表名WHERE 查詢條件;」。

mysql where關鍵字怎麼用

本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。

MySQL WHERE:條件查詢資料

在 MySQL 中,如果需要有條件的從資料表中查詢數據,可以使用 WHERE 關鍵字來指定查詢條件。

使用WHERE 關鍵字的語法格式如下:

SELECT {*|字段列名} FROM 数据表名 WHERE 查询条件;
登入後複製

查詢條件可以是:

  • 帶有比較運算子和邏輯運算子的查詢條件

  • 帶有BETWEEN AND 關鍵字的查詢條件

  • #帶有IS NULL 關鍵字的查詢條件

帶IN 關鍵字的查詢條件

帶有LIKE 關鍵字的查詢條件

  • 單一條件的查詢語句
  • 單一條件指的是WHERE 關鍵字後面只有一個查詢條件。
  • 範例 1

在 tb_students_info 資料表中查詢身高為 170cm 的學生姓名,SQL 語句和運行結果如下。

mysql> SELECT name,height FROM tb_students_info
    -> WHERE height=170;
+-------+--------+
| name  | height |
+-------+--------+
| Susan |    170 |
+-------+--------+
1 row in set (0.17 sec)
登入後複製
可以看到,查詢結果中記錄的 height 欄位的值等於 170。如果根據指定的條件進行查詢時,資料表中沒有符合查詢條件的記錄,系統會提示「Empty set(0.00sec)」。

範例 2

在 tb_students_info 資料表中查詢年齡小於 22 的學生姓名,SQL 語句和執行結果如下。

mysql> SELECT name,age FROM tb_students_info
    -> WHERE age<22;
+------+------+
| name | age  |
+------+------+
| John |   21 |
+------+------+
1 row in set (0.05 sec)
登入後複製
可以看到,查詢結果中所有記錄的 age 欄位的值均小於 22 歲,而大於或等於 22 歲的記錄沒有被傳回。

多條件的查詢語句

在 WHERE 關鍵字後面可以有多個查詢條件,這樣可以讓查詢結果更精確。多個查詢條件時用邏輯運算子 AND(&&)、OR(||)或 XOR 隔開。

AND:記錄滿足所有查詢條件時,才會被查詢出來。

OR:記錄滿足任一查詢條件時,才會被查詢出來。

XOR:記錄滿足其中一個條件,且不滿足另一個條件時,才會被查詢出來。

######範例3#########在tb_students_info 表中查詢age 大於21,且height 大於等於175 的學生訊息,SQL 語句和運行結果如下。 ###
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)
登入後複製
###可以看到,查詢結果中所有記錄的 age 欄位都大於 21 且 height 欄位都大於等於 175。 #########例 4#########在 tb_students_info 表中查詢 age 大於 21,或 height 大於等於 175 的學生訊息,SQL 語句和運行結果如下。 ###
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)
登入後複製
###可以看到,查詢結果中所有記錄的 age 欄位都大於 21 或 height 欄位都大於等於 175。 #########例5#########在tb_students_info 表中查詢age 大於21,且height 小於175 的學生資訊和age 小於21,且height 大於等於175 的學生資訊, SQL 語句和執行結果如下。 ###
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)
登入後複製
###可以看到,查詢結果中所有記錄的 age 欄位都大於 21 且 height 欄位都小於 175。 tb_students_info 資料表中沒有 age 欄位小於 21 且 height 欄位大於等於 175 的記錄。 #########OR、AND 和 XOR 可以一起使用,但在使用時要注意運算子的優先權。關於 MySQL 中運算子的優先權可閱讀學習《MySQL運算子的優先權》一節。 #########查詢條件越多,查詢出來的記錄就會越少。因為,設定的條件越多,查詢語句的限制就更多,能夠滿足所有條件的記錄就更少。為了讓查詢出來的記錄正是自己想要的,可以在 WHERE 語句中將查詢條件設定的更具體。 ######【相關推薦:###mysql影片教學###】####

以上是mysql where關鍵字怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板