MySQL Where 条件语句介绍和运算符小结
WHERE条件
有时候操作数据库时,只操作一些有条件限制的数据,这时可以在SQL语句中添加WHERE子句来规定数据操作的条件。
语法:
SELECTcolumn,…FROMtb_nameWHEREdefinition
WHERE关键字后面接有效的表达式(definition),该表达式表示被操作的数据记录必须满足的条件。
除SELECT外,WHERE条件关键字可以用于任何SQL语法允许的场合,如UPDATE(更新)、DELETE(删除)等。
例子:
SELECT*FROMuserWHEREusername='Jack'
该例子指定查询条件为username等于Jack的数据。
WHERE表达式中运算符说明:
参数说明:
运算符
说明
=
等于
!=
不等于,某些数据库系统也写作<>
>
大于
<
小于
>=
大于或等于
<=
小于或等于
BETWEEN…AND…
介于某个范围之内,例:WHEREageBETWEEN20AND30
NOTBETWEEN…AND…
不在某个范围之内
IN(项1,项2,…)
在指定项内,例:WHEREcityIN('beijing','shanghai')
NOTIN(项1,项2,…)
不在指定项内
LIKE
搜索匹配,常与模式匹配符配合使用
NOTLIKE
LIKE的反义
ISNULL
空值判断符
ISNOTNULL
非空判断符
NOT、AND、OR
逻辑运算符,分别表示否、并且、或,用于多个逻辑连接。
优先级:NOT>AND>OR
%
模式匹配符,表示任意字串,例:WHEREusernameLIKE'%user'
一些WHERE例子
根据用户名查询指定用户:
SELECT*FROMuserWHEREusername='Jack'
查询2009年1月1日凌晨0点以后注册的用户名称及id号:
$regdate=mktime(00,00,01,01,01,2009); SELECTuid,usernameFROMuserWHEREregdate>=$regdate
搜索用户名中含有user字样的所有用户:
SELECT*FROMuserWHEREusernameLIKE'%user%'
搜索用户名中含有user或者admin的所有用户:
SELECT*FROMuserWHEREusernameLIKE'%user%'ORusernameLIKE'%admin%'