1、%符匹配 原表数据 mysql> SELECT * FROM pet; +---------+-------+---------+------+------------+------------+ | name | owner | species | sex | birth | death | +---------+-------+---------+------+------------+------------+ | CAT | Hehf | cat | f | 2008-02-03 | 0000-00-00 | | CAT01 | Hehf | cat | f | 2008-02-03 | 0000-00-00 | | CATTEST | Hehf | Good | N | 2000-05-02 | NULL | +---------+-------+---------+------+------------+------------+ 3 rows in set (0.00 sec) 匹配1 mysql> SELECT * FROM pet WHERE name LIKE 'C%'; +---------+-------+---------+------+------------+------------+ | name | owner | species | sex | birth | death | +---------+-------+---------+------+------------+------------+ | CAT | Hehf | cat | f | 2008-02-03 | 0000-00-00 | | CAT01 | Hehf | cat | f | 2008-02-03 | 0000-00-00 | | CATTEST | Hehf | Good | N | 2000-05-02 | NULL | +---------+-------+---------+------+------------+------------+ 3 rows in set (0.00 sec) 匹配2 mysql> SELECT * FROM pet WHERE name LIKE '%c'; Empty set (0.00 sec) 匹配3 mysql> SELECT * FROM pet WHERE name LIKE '%c%'; +---------+-------+---------+------+------------+------------+ | name | owner | species | sex | birth | death | +---------+-------+---------+------+------------+------------+ | CAT | Hehf | cat | f | 2008-02-03 | 0000-00-00 | | CAT01 | Hehf | cat | f | 2008-02-03 | 0000-00-00 | | CATTEST | Hehf | Good | N | 2000-05-02 | NULL | +---------+-------+---------+------+------------+------------+ 3 rows in set (0.00 sec) 2、_一个"_"表示一个字符 匹配name是三个字符的记录 mysql> SELECT * FROM pet WHERE name LIKE '___'; +------+-------+---------+------+------------+------------+ | name | owner | species | sex | birth | death | +------+-------+---------+------+------------+------------+ | CAT | Hehf | cat | f | 2008-02-03 | 0000-00-00 | +------+-------+---------+------+------------+------------+ 1 row in set (0.00 sec) 3、 扩展正则表达式的一些字符是: ·‘.’匹配任何单个的字符。 · 字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。 为了命名字符的范围,使用一个“-”。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。 ·“ * ”匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配任何数量的数字, 而“.*”匹配任何数量的任何字符。 如果REGEXP模式与被测试值的任何地方匹配,模式就匹配(这不同于LIKE模式匹配,只有与整个值匹配,模式才匹配)。 为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。 为了说明扩展正则表达式如何工作,下面使用REGEXP重写上面所示的LIKE查询: 为了找出以“b”开头的名字,使用“^”匹配名字的开始: 。。。。。。。。。。。。。。。。。。。。
MySQL模式匹配
最新推荐文章于 2023-11-09 19:28:40 发布