MySQL Where 條件語句介紹和運算符小結

WHERE 條件

有時候操作數據庫時,只操作一些有條件限制的數據,這時可以在SQL語句中添加WHERE子句來規定數據操作的條件。

語法:

SELECT column,… FROM tb_name WHERE definition

WHERE 關鍵字後面接有效的表達式(definition),該表達式表示被操作的數據記錄必須滿足的條件。

除 SELECT 外,WHERE 條件關鍵字可以用於任何 SQL 語法允許的場合,如 UPDATE(更新)、DELETE(刪除)等。

例子:

SELECT * FROM user WHERE username = 'Jack'

該例子指定查詢條件為 username 等於 Jack 的數據。

WHERE 表達式中運算符說明:

參數說明:

運算符說明
=等於
!=不等於,某些數據庫系統也寫作 <>
>大於
<小於
>=大於或等於
<=小於或等於
BETWEEN … AND …介於某個範圍之內,例:WHERE age BETWEEN 20 AND 30
NOT BETWEEN …AND …不在某個範圍之內
IN(項1,項2,…)
在指定項內,例:WHERE city IN('beijing','shanghai')
NOT IN(項1,項2,…)不在指定項內
LIKE搜索匹配,常與模式匹配符配合使用
NOT LIKELIKE的反義
IS NULL空值判斷符
IS NOT NULL非空判斷符
NOT、AND、OR邏輯運算符,分別表示否、並且、或,用於多個邏輯連接。優先級:NOT > AND > OR
% 模式匹配符,表示任意字串,例:WHERE username LIKE '%user'

一些 WHERE 例子

根據用戶名查詢指定用戶:

代碼如下:

SELECT * FROM user WHERE username = 'Jack'

查詢2009年1月1日凌晨0點以後註冊的用戶名稱及 id 號:

代碼如下:

$regdate = mktime(00, 00, 01, 01, 01, 2009);

SELECT uid,username FROM user WHERE regdate >= $regdate

代碼如下:

搜索用戶名中含有 user 字樣的所有用戶:

SELECT * FROM user WHERE username LIKE '%user%'

搜索用戶名中含有 user 或者 admin 的所有用戶:

代碼如下:

SELECT * FROM user WHERE username LIKE '%user%' OR username LIKE '%admin%'


分享到:


相關文章: