浅谈mysql通配符进行模糊查询的实现方法

 更新时间:2020年07月22日 17:22:15   作者:第一夫人  
这篇文章主要介绍了浅谈mysql通配符进行模糊查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在mysql数据库中,当我们需要模糊查询的时候 ,我们会使用到通配符。

首先我们来了解一下2个概念,一个是操作符,一个是通配符。

操作符

like就是SQL语句中的操作符,它的作用是指示在SQL语句后面的搜索模式是利用通配符而不是直接相等匹配进行比较。

注意:如果使用like操作符时没有使用通配符,那么效果是和等号是一致的。

SELECT id,title FROM table WHERE title like '张三';

这种写法就只能匹配张三的记录,而不能匹配像张三是个好人这样的记录。

通配符

%(百分号),_(下划线)就是通配符,%表示任何字符出现任意次数(可以是0次),_表示单个字符,用户如下:

1 SELECT id,title FROM table WHERE title like '张三%';
2 SELECT id,title FROM table WHERE title like '%张三';
3 SELECT id,title FROM table WHERE title like '%张三%';

1表示匹配以张三开始的记录,2表示匹配以张三结束的记录,3表示匹配含有张三的记录。

1 SELECT id,title FROM table WHERE title like '张三_';
2 SELECT id,title FROM table WHERE title like '__张三';

1表示匹配像张三好这样的记录,2表示匹配像你好张三这样的记录。

使用注意

注意大小写,在使用模糊匹配时,也就是匹配文本时,mysql是可能区分大小的,也可能是不区分大小写的,这个结果是取决于用户对MySQL的配置方式。

注意尾部空格。

注意NULL,%可以匹配任意字符,但是不能匹配NULL。

合理使用

MySQL的通配符很有用,但这种功能是有代价的,通配符搜索的处理一般要比前面讨论的其他搜索所花时间更长,这里给出一些使用通配符要记住的技巧。

不要过度使用通配符,如果其他操作符能达到相同的目的,应该 使用其他操作符。

在确实需要使用通配符时,除非绝对有必要,否则不要把它们用 在搜索模式的开始处,把通配符置于搜索模式的开始处,搜索起 来是最慢的。

仔细注意通配符的位置,如果放错地方,可能不会返回想要的数。

到此这篇关于浅谈mysql通配符进行模糊查询的文章就介绍到这了,更多相关mysql通配符进行模糊查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mysql中的sql优化实践详解

    Mysql中的sql优化实践详解

    这篇文章主要介绍了Mysql中的sql优化实践详解,SQL优化是指通过改进SQL语句的编写和查询计划的设计来提高数据库查询性能的过程,在优化SQL时,可以采取一些措施来提升查询性能,需要的朋友可以参考下
    2023-09-09
  • Mysql悲观锁和乐观锁的使用示例

    Mysql悲观锁和乐观锁的使用示例

    这篇文章主要给大家介绍了关于Mysql悲观锁和乐观锁使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • 深入Mysql字符集设置分析

    深入Mysql字符集设置分析

    深入Mysql字符集设置分析,使用mysql的朋友可以参考下
    2012-03-03
  • Mysql数据库函数之函数的用法小结

    Mysql数据库函数之函数的用法小结

    函数只是对查询结果中的数据进行处理,不会改变数据库中数据表的值,MySQL中的函数主要分为单行函数和多行函数两大类,下面我们将详细讲解这两大类函数,这篇文章主要介绍了Mysql数据库函数之函数的用法,需要的朋友可以参考下
    2022-11-11
  • MySQL字符集乱码及解决方案分享

    MySQL字符集乱码及解决方案分享

    这篇文章主要给大家介绍了关于MySQL字符集乱码及解决方案的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • MySQL通过存储过程来添加和删除分区的过程(List分区)

    MySQL通过存储过程来添加和删除分区的过程(List分区)

    这篇文章主要介绍了MySQL-通过存储过程来添加和删除分区(List分区),本文通过创建存储过程来添加和删除分区,可以避免在分区存在时添加分区报错,或者分区不存在时删除分区报错的问题,需要的朋友可以参考下
    2023-09-09
  • MYSQL增加索引语句小结

    MYSQL增加索引语句小结

    这篇文章主要给大家介绍了关于MYSQL增加索引的相关资料,索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针,需要的朋友可以参考下
    2023-09-09
  • mysql如何增加数据表的字段(ALTER)

    mysql如何增加数据表的字段(ALTER)

    这篇文章主要介绍了mysql如何增加数据表的字段(ALTER),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • MYSQL explain 执行计划

    MYSQL explain 执行计划

    explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。
    2009-08-08
  • MySQL触发器的使用场景及方法实例

    MySQL触发器的使用场景及方法实例

    这篇文章主要给大家介绍了关于MySQL触发器的使用场景及方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论