WHERE 條件
有時(shí)候操作數(shù)據(jù)庫時(shí),只操作一些有條件限制的數(shù)據(jù),這時(shí)可以在SQL語句中添加WHERE子句來規(guī)定數(shù)據(jù)操作的條件。
語法:
代碼如下:
SELECT column,… FROM tb_name WHERE definition
WHERE 關(guān)鍵字后面接有效的表達(dá)式(definition),該表達(dá)式表示被操作的數(shù)據(jù)記錄必須滿足的條件。
除 SELECT 外,WHERE 條件關(guān)鍵字可以用于任何 SQL 語法允許的場合,如 UPDATE(更新)、DELETE(刪除)等。
例子:
代碼如下:
SELECT * FROM user WHERE username = 'Jack'
該例子指定查詢條件為 username 等于 Jack 的數(shù)據(jù)。
WHERE 表達(dá)式中運(yùn)算符說明:
參數(shù)說明:
運(yùn)算符 說明
= 等于
!= 不等于,某些數(shù)據(jù)庫系統(tǒng)也寫作 <>
> 大于
< 小于
>= 大于或等于
<= 小于或等于
BETWEEN … AND … 介于某個(gè)范圍之內(nèi),例:WHERE age BETWEEN 20 AND 30
NOT BETWEEN …AND … 不在某個(gè)范圍之內(nèi)
IN(項(xiàng)1,項(xiàng)2,…) 在指定項(xiàng)內(nèi),例:WHERE city IN('beijing','shanghai')
NOT IN(項(xiàng)1,項(xiàng)2,…) 不在指定項(xiàng)內(nèi)
LIKE 搜索匹配,常與模式匹配符配合使用
NOT LIKE LIKE的反義
IS NULL 空值判斷符
IS NOT NULL 非空判斷符
NOT、AND、OR 邏輯運(yùn)算符,分別表示否、并且、或,用于多個(gè)邏輯連接。
優(yōu)先級:NOT > AND > OR
% 模式匹配符,表示任意字串,例:WHERE username LIKE '%user'
一些 WHERE 例子
根據(jù)用戶名查詢指定用戶:
代碼如下:
SELECT * FROM user WHERE username = 'Jack'
查詢2009年1月1日凌晨0點(diǎn)以后注冊的用戶名稱及 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%'
更多信息請查看IT技術(shù)專欄