• MySQL 保姆级教程(六):用通配符进行过滤


    第 8 章 用通配符进行过滤

    8.1 LIKE 操作符

    通配符: 用来匹配值的一部分的特殊字符
    搜索模式: 由字面值、通配符或两者组合构成的搜索条件
    为了在搜索子句中使用通配符,必须使用 LIKE 操作符

    8.1.1 百分号(%)通配符

    1. 输入: SELECT server_cost.cost_name,server_cost.last_update FROM server_cost WHERE server_cost.cost_name LIKE 'dis%';
    2. 输出:
    3. +----------------------------+---------------------+
    4. | cost_name                  | last_update         |
    5. +----------------------------+---------------------+
    6. | disk_temptable_create_cost | 2024-01-03 15:22:15 |
    7. | disk_temptable_row_cost    | 2024-01-03 15:22:15 |
    8. +----------------------------+---------------------+
    9. 分析: 此例子使用了搜索模式 'dis%'。在执行这条子句时,将检索任意以 dis 开头的词。% 告诉 MySQL 接受 dis之后的任意字符且不管数量多少
    10. 输入: SELECT server_cost.cost_name,server_cost.last_update FROM server_cost WHERE server_cost.cost_name LIKE '%temptable%';
    11. 输出:
    12. +------------------------------+---------------------+
    13. | cost_name                    | last_update         |
    14. +------------------------------+---------------------+
    15. | disk_temptable_create_cost   | 2024-01-03 15:22:15 |
    16. | disk_temptable_row_cost      | 2024-01-03 15:22:15 |
    17. | memory_temptable_create_cost | 2024-01-03 15:22:15 |
    18. | memory_temptable_row_cost    | 2024-01-03 15:22:15 |
    19. +------------------------------+---------------------+
    20. 分析: % 可以出现在任何位置

    8.1.2 下划线(_)通配符

    1. 输入: SELECT help_category.name FROM help_category WHERE help_category.name LIKE 'MB_';
    2. 输出:
    3. +------+
    4. | name |
    5. +------+
    6. | MBR  |
    7. +------+
    8. 分析: _ 只匹配一个字符,同样不限制出现位置

    8.2 使用通配符的技巧

    1. 不要过度使用通配符
    2. 在确实需要使用通配符时,除非绝对有必要,否则不要把它们用在搜索模式的开始处,因为慢
    3. 仔细注意通配符的位置
  • 相关阅读:
    边学边记——ArrayList的使用示例☞扑克牌
    软件测试基本技能点
    TiUP 故障排查
    Mybatis详细的使用过程(3)
    【插槽】Vue中插槽Slot基本使用和具名插槽
    pandas学习
    任务调度之Timer定时器源码分析
    【数据结构与算法】二叉树OJ练习题
    记录一个困难
    【List篇】使用Arrays.asList生成的List集合,操作add方法报错
  • 原文地址:https://blog.csdn.net/2302_82189125/article/details/139726275