LIKE 与 REGEXP 操作符

    当需要搜索产品文本中包含某个特定关键字的所有产品,使用通配符来创建比较特定的数据搜索模式。

    • 通配符(wildcard) 用来匹配值的一部分特殊字符。

    • 搜索模式(search pattern) 由字母值,通配符两租组合构成的搜索条件。

    百分号%通配符

    表示任何符合出现任意次数。

    检索以Fish 开头的词汇,Fish之后任意词汇,区分大小写。

    1. -> FROM Products
    2. -> WHERE prod_name LIKE '%bean bag%';
    3. +---------+---------------------+
    4. | prod_id | prod_name |
    5. | BNBG01 | Fish bean bag toy |
    6. | BNBG02 | Bird bean bag toy |
    7. | BNBG03 | Rabbit bean bag toy |
    8. +---------+---------------------+

    匹配任意位置包含 bean bag的值

    1. mysql> SELECT prod_name
    2. -> FROM Products
    3. -> WHERE prod_name LIKE 'F%y';
    4. +-------------------+
    5. | prod_name |
    6. +-------------------+
    7. | Fish bean bag toy |
    8. 1 row in set (0.00 sec)

    下划线 _ 通配符

    下划线与%不同的是匹配单个字符,而不是多个字符。

    一个_匹配一个字符串。

    方括号[]通配符

    匹配任意带有JM的字符串的列。

    1. +----------------+
    2. | cust_contact |
    3. +----------------+
    4. | Jim Jones |
    5. | John Smith |
    6. | Kim Howard |
    7. | Michelle Green |
    8. +----------------+
    9. 4 rows in set (0.00 sec)

    通配符技巧

    • 其他操作如果能达到相同的效果,就不要用通配符。
    • 主要通配符的位置