在mysql查询中,经常会用到通配符,而且mysql的通配符和pgsql是有所不同的,甚至mysql中还可以使用正则表达式。本文就为大家带来mysql查询中通配符的使用。
SQL模式匹配:
“_” 匹配单个字符,”_” 匹配”_”
“%” 匹配任意个字符,包括零个字符
sql模式下的匹配,缺省是对于字母的大小写没有要求,并且sql模式下,“=”或”!=”是不能在模糊匹配中使用的,而是使用 like 或 not like.
例如:
SELECT * FROM [user] WHERE u_name LIKE ‘%三%’;
SELECT * FROM [user] WHERE u_name LIKE ‘_三_’;
正则模式匹配:
当使用正则匹配时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,功能是一样的)。
其中涉及到的字符是:
“.” 匹配任何单个的字符。
“[…]” 表示匹配在方括号内的任何字符。如,”[abc]” 则匹配”a”、”b”或者”c”,“[a-z]”匹配任何小写字母,而“[0-9]”匹配任何数字。
“ * ”表示匹配零个或多个在它前面的东西。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配的任何数量的数字,而“.*”匹配任何数量的任何东西。
注意:正则表达式是区分大小写的,但是我们也能使用一个字符类匹配两种写法。例如,“[aA]”匹配小写或大写的“a”而“[a-zA-Z]”匹配两种写法的任何字母。
为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。
例如:
— 查寻以 三 开头的名字
FROM [user] WHERE u_name REGEXP ‘^三’;
— 查寻以 三 结尾的名字
FROM [user] WHERE u_name REGEXP ‘三$’;
— “重复n次”操作符重写先前的查询:
FROM [user] WHERE u_name REGEXP ‘b{2}$’;
推荐阅读:
MySQL正则表达式
MySQL 入门教程
原文地址:26点的博客 » mysql查询中通配符的使用
如果数据库连接存在我们可以使用execute()方法来为数据库创建表,如下所示创建表EMPLOYEE:#!/usr/bin/python# -*- coding: UTF-...
在前面的章节我们已经了解到MySQL可以通过 LIKE ...% 来进行模糊匹配。 MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 RE...
MySQL Date 函数定义和用法 DATE_ADD() 函数向日期添加指定的时间间隔。 语法DATE_ADD(date,INTERVAL expr type) date 参数是合...
MySQL Date 函数定义和用法 DATEDIFF() 函数返回两个日期之间的天数。 语法DATEDIFF(date1,date2) date1 和 date2 参数是合法的...