MySql如何对字符串模糊查询?

mysql在网站开发中,越来越多人使用了,因为方便部署,方便使用。<br/>我们在平时使用中,会对表的某个字段进行模糊查询,比如我要查询学生表里,姓王的学生有哪些,就需要模糊查询。下面一起看下。

操作方法

  • 01

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

  • 02

    如果要查询所有姓王的学生,这个sql怎么写?
    我们可以用 like关键字,
    select * from student where `name` like '王%'
    这种匹配以‘王’字开头,后面任意字符的数据

  • 03

    如果我们要查询所有叫阿‘伟’的学生呢?
    还是可以用 like关键字
    select * from student where `name` like '%伟'
    这种匹配以‘伟’字结尾,前面任意字符的数据

  • 04

    上面的模糊查询都是用like关键字,加个百分号,这个百分号的意思就是匹配所有的字符,还有另一种写法,就是二个百分号的,前后都有匹配符,
    如 select * from student where `name` like '%强%'
    这种不止是以‘强’字开头的,或以‘强’字结尾的,是符合数据,‘强’字出现在任何位置都是符合的数据。

  • 05

    除了用百分号做匹配符,我们还可以用下横线(_),这个和百分号有什么区别?
    百分号可以匹配任意个字符,一个或多个,或0个,但一个下横线就是匹配一个字符。
    select * from student where `name` like '王_'
    只能是姓王的,并且姓名是二个字的学生

  • 06

    如果要匹配多个字符时,我们可以加多个下横线,二个下横线就是匹配二个字符,以此类推。
    比如要查询姓王的学生,且姓名是三个字的,我们可以这样写,
    select * from student where `name` like '王__'

  • 07

    除了用匹配符,我们还可以用mysql自带的函数,INSTR,用法如下,
    select * from student where INSTR(name, '王')>0,
    就是name字段包括有‘王’字的数据。

  • End
  • 发表于 2017-09-14 00:00
  • 阅读 ( 969 )
  • 分类:电脑网络

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具