美文网首页
MySQL中like使用 % 和 _ 的区别

MySQL中like使用 % 和 _ 的区别

作者: 时间煮菜 | 来源:发表于2020-04-08 09:08 被阅读0次
  • 通配符的分类:
  1. %百分号通配符:表示任何字符出现任意次数(可以是0次).

  2. _下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一个字符.

  3. like操作符: LIKE作用是指示mysql后面的搜索模式是利用通配符而不是直接相等匹配进行比较.

注意: 如果在使用like操作符时,后面的没有使用通用匹配符效果是和=一致的,

SELECT * FROM products WHERE products.prod_name like '1000';

只能匹配的结果为1000,而不能匹配像JetPack 1000这样的结果.

% 通配符使用:

  1. 匹配以"Li"开头的记录:(包括记录"Li") :
SELECT *FROM products WHERE products.prod_name like 'Li%';
  1. 匹配包含"Li"的记录(包括记录"Li") :
SELECT* FROM products WHERE products.prod_name like '%Li%';
  1. 匹配以"Li"结尾的记录(包括记录"Li",不包括记录"Li ",也就是Li后面有空格的记录,这里需要注意) :
SELECT * FROM products WHERE products.prod_name like '%Li';

_ 通配符使用:

SELECT FROM products WHERE products.prod_name like '_Li'; 

匹配结果为: 像"xLi"这样记录.

SELECT FROM products WHERE products.prod_name like 'Li**'; 

匹配结果为: 像"Lixx"这样的记录.(一个下划线只能匹配一个字符,不能多也不能少)

注意事项:

  • 注意大小写,在使用模糊匹配时,也就是匹配文本时,mysql是可能区分大小的,也可能是不区分大小写的,这个结果是取决于用户对MySQL的配置方式.如果是区分大小写,那么像liyue这样记录是不能被"Li__"这样的匹配条件匹配的.
  • 注意尾部空格,"%Li"是不能匹配"Li "这样的记录的.
  • 注意NULL,%通配符可以匹配任意字符,但是不能匹配NULL,也就是说
    SELECT * FROM products WHERE products.prod_name like '%;
    是匹配不到products.prod_name为NULL的的记录.

正如所见, MySQL的通配符很有用。但这种功能是有代价的:通配符搜索的处理一般要比前面讨论的其他搜索所花时间更长。使用通配符时要注意的事情:

  1. 不要过度使用通配符。如果其他操作符能达到相同的目的,应该 使用其他操作符。
  2. 在确实需要使用通配符时,除非绝对有必要,否则不要把它们用 在搜索模式的开始处。把通配符置于搜索模式的开始处,搜索起 来是最慢的。
  3. 仔细注意通配符的位置。如果放错地方,可能不会返回想要的数.

相关文章

  • MySQL中like使用 % 和 _ 的区别

    通配符的分类: %百分号通配符:表示任何字符出现任意次数(可以是0次). _下划线通配符:表示只能匹配单个字符,不...

  • MySQL进阶操作

    drop,delete与truncate的区别 使用正则表达式查询和使用like区别 LIKE匹配整个列。如果被匹...

  • SQL中常用函数

    SQL中IF、IFNULL函数的使用 SQL中INSTR函数的使用 注:INSTR和LIKE的相同处以及区别 in...

  • mysql 中模糊查询

    MySQL中 使用like关键字进行模糊查询,like关键字通常用在where条件查询子句中,like字句通常配合...

  • MySQL之like子句

    本文主要介绍MySQL中的like子句的作用和用法。 I、与=的关系 我们会经常使用形如SELECT * FROM...

  • 2021-11-04MySQL 中 localhost 与 12

    MySQL 中 localhost 与 127.0.0.1 的区别 大家在使用MySQL的过程中,可能都有一个疑问...

  • MySQL中update和alter使用区别

    最近在参与IDO老徐的MySQL21天打卡系列,今天在回顾的时候看到一个作业题目是更新表里某个字段值,突然不知道该...

  • SQL之模糊查询的四种用法

    MySql 使用 like关键字 进行模糊查询,like关键字 通常用在 where条件查询,like关键字 通常...

  • like和as的区别

    这里区别like/as as与like是英语中常见的两个词,他们的语义和用法很多.在语义上者两个词都可以当"像.....

  • mysql 优化 %like% 查询

    mysql 使用like %name%查询时,速度很慢,CPU占用高. 新版的MySQL5.6.24上InnoDB...

网友评论

      本文标题:MySQL中like使用 % 和 _ 的区别

      本文链接:https://www.haomeiwen.com/subject/feegphtx.html