• 你好!欢迎你的到来
  • 关于我们
  • 首页 博客 学习笔记 技术导航 工具
  • 博文分类
    • PHP(43)
    • MySQL(11)
    • Linux(28)
    • html(3)
    • JQuery(4)
    • JavaScript(9)
    • svn(2)
    • CSS(2)
    • seajs(1)
    • go(44)
    • redis(1)
    • nginx(8)
    • mongo(0)
    • java(0)
    • 算法(0)
    • 其他(26)
    • 生活(1)
    专栏
    • Jquery基础教程
      • 文章:(15)篇
      • 阅读:33150
    • shell命令
      • 文章:(42)篇
      • 阅读:108100
    • Git教程
      • 文章:(36)篇
      • 阅读:178739
    • leetCode刷题
      • 文章:(76)篇
      • 阅读:63111
    • 摘要视图
    • 目录视图
    sql语句中的通配符
    2018-03-17 19:13 阅读(4514) 评论(0)

    一、简介

    mysql中常用的通配符有:

    通配符解释
    %匹配一个或多个字符
    _匹配一个字符
    [string]匹配string中任意一个字符
    [^string]不匹配string中任意一个字符
    [!string]不匹配string中任意一个字符

    二、"%"的使用

    在mysql的查询或是授权的时候,我们通常会用到mysql的通配符。

    有一个分类表category如下:

    取出所有test开头的分类,则需要使用通配符%

    select * from category name 'test%';

    二、"_"的使用

    比如查询test1_0开头,后面跟着一个字符的分类,查询语句如下:

    select * from category where name like "test1_0_";

    备注:在like语句里面,不能随便使用 _,如果数据表中存在如下记录,上诉查询就会失败,如下:

    INSERT INTO category (`name`)VALUES('test1a0b');

    在执行上诉查询,结果为:

    怎么解决这个问题,只能转移字符串中的“_”字符,如果涉及到匹配查询,其次名字的分隔符尽量不要使用下划线"_"。上面查询语句,可以改为:

    select * from category where name like "test1\_0_";

    三、正则匹配

    如果在上面表中,再插入如下记录

    INSERT INTO category (`name`)VALUES('test1_0a');

    再次进行上诉查询,会返回

    如果,我仅仅需要以数字结尾的分类,那么上面的查询语句就不能满足条件。这个时候,就需要使用正则匹配了。

    select * from category where name REGEXP "test1_0[1-9]";

    mysql的正则表达式,和其他语言差不多,常用的字符如下:

    . 匹配任何单个的字符

    [abc] 匹配abc中任意一个字符

    [a-z] 匹配任何小写字母

    [A-Z] 匹配任何大写字母

    [0-9] 匹配任何数字

    ^test代表以某个test开头

    test$ 代表以test结


    本文为原创文章,请尊重辛勤劳动,如需转载,请保留本文地址
    http://www.findme.wang/blog/detail/id/392.html

    若您感觉本站文章不错,读后有收获,不妨赞助一下?

    我要赞助

    您还可以分享给朋友哦

    更多
    顶
    0
    踩
    0
    • 上一篇: go中类型转换包strconv的使用
    • 下一篇: PHP中有效地获取最后一次报错
    • 查看评论
    • 正在加载中...
    • 留言
    • 亲,您还没有登录,登录后留言不需要审核哦!
      可以使用如下方式登录哦!
  • CSDN | 新浪微博 | github | 关于我们 | 我要留言 | 友链申请
  • 豫ICP备18038193号    Copyright ©lidequan All Rights Reserved