MySQL Where 运算符小结

85 篇文章 4 订阅

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'

mysql中使用FIND_IN_SET查询在逗号隔开的字符串中符合多个ID的数据


FIND_IN_SET(str,strlist)函数   它不同于 like 模糊查询,它是以“,”来分隔值

str 要查询的字符串

strlist 字段名 参数以”,”分隔 如 (1,2,6,8)

查询字段(strlist)中包含(str)的结果,返回结果为null或记录

下面举例说明

test表中有如下字段及值

下面我想查询area中包含”1″这个参数的记录

SELECT * from test where FIND_IN_SET('1',area)

返回值

下面查询btype字段中包含”15″这个参数的值

SELECT * from test where FIND_IN_SET('15',btype)

返回值





一些 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%'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值