MySQL充电_MySql如何对字符串模糊查询? 来充电吧

mysql在网站开发中,越来越多人使用了,因为方便部署,方便使用。

我们在平时使用中,会对表的某个字段进行模糊查询,比如我要查询学生表里,姓王的学生有哪些,就需要模糊查询。下面一起看下。

操作方法

01

首先,看下我们数据库学生表的数据,

c83feeaa68b835e02e10c525ff26f60a.png

02

如果要查询所有姓王的学生,这个sql怎么写?

我们可以用 like关键字,

select * from student where `name` like '王%'

这种匹配以‘王’字开头,后面任意字符的数据

f9009a28607242b9742f50e965d10df4.png

03

如果我们要查询所有叫阿‘伟’的学生呢?

还是可以用 like关键字

select * from student where `name` like '%伟'

这种匹配以‘伟’字结尾,前面任意字符的数据

51ef3c4212c8274140bd3a1c3bb8d169.png

04

上面的模糊查询都是用like关键字,加个百分号,这个百分号的意思就是匹配所有的字符,还有另一种写法,就是二个百分号的,前后都有匹配符,

如 select * from student where `name` like '%强%'

这种不止是以‘强’字开头的,或以‘强’字结尾的,是符合数据,‘强’字出现在任何位置都是符合的数据。

9cdec1e511cdde9e21a5e96c6d2f5a56.png

05

除了用百分号做匹配符,我们还可以用下横线(_),这个和百分号有什么区别?

百分号可以匹配任意个字符,一个或多个,或0个,但一个下横线就是匹配一个字符。

select * from student where `name` like '王_'

只能是姓王的,并且姓名是二个字的学生

13eb04381d22eb53bc4e436806ff1672.png

06

如果要匹配多个字符时,我们可以加多个下横线,二个下横线就是匹配二个字符,以此类推。

比如要查询姓王的学生,且姓名是三个字的,我们可以这样写,

select * from student where `name` like '王__'

b8923d53dcf82dce31eb173ce1a04606.png

07

除了用匹配符,我们还可以用mysql自带的函数,INSTR,用法如下,

select * from student where INSTR(name, '王')>0,

就是name字段包括有‘王’字的数据。

86c72ad75fee24f765b084ffbdf6841e.png

好了,以上就是大致内容了,(END)

声明:该文观点仅代表作者本人,天晴资讯网系信息发布平台,仅提供信息存储空间服务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值