mysql中的正则表达式搜索
语法:
select * from table_name where column_name regexp '正则表达式'
或区分大小写
select * from table_name where column_name regexp binary '正则表达式'
支持的正则表达式符号:
. 任意字符
| 或,如:a|b|c
[] 范围,比如:[a-z],[0-9],[^0-9]不包括0-9字符
^ 在[]中表示排除,否则表示匹配开头
\\ 转义,如:\\\表示匹配\,\\.表示匹配.
* 0个或多个
+ 1个或多个
? 0个或1个
{n} n个
{n,} 不少于n个
{n,m} n到m个
$ 匹配结尾
=====================
[:alnum:] 任意字母和数字,相当于[a-zA-Z0-9]
[:alpha:] 任意字符[a-zA-Z]
[:blank:] 空格和制表[\\t]
[:cntrl:] ascii控制字符
[:digit:] 数字[0-9]
[:graph:][:print:] 可打印字符
[:lower:] 小写字母
[:upper:] 大写字母
[:xdigit:] 十六进制数[a-fA-F0-9]
例如:[[:digit:]]{4},匹配任意4位数字
相关文档:
一、CREATE TABLE 方法
整表复制 # create table 新表 select * from 旧表;
结构复制 # create table 新表 select * from 旧表 where 1<>1;
二、INSERT INTO 方法
得到建表语句 # show create table 旧表;
新建表
复制数据到新表 INSERT INTO new_table(col1,col2,...) (SELECT col1,col2,... from old_table); ......
原理
QueryCache(下面简称QC)是根据SQL语句来cache的。一个SQL查询如果以select开头,那么MySQL服务器将尝试对其使用
QC。每个Cache都是以SQL文本作为key来存的。在应用QC之前,SQL文本不会被作任何处理。也就是说,两个SQL语句,只要相差哪怕是一个字符(例如大小写不一样;多一个空格等),那么这两个SQL将使用不同的一 ......
亲爱的拯救MySQL的中国签名支持者:
欧盟可能无法拯救MySQL, 中国和俄罗斯可能是拯救MySQL的希望之所在。中国拥有强大、独立以及自信的反垄断主管机关,因此,我本人在此请求您的帮助。对于您在 http://helpmysql.org/cn/petition
的签名,我们深表感谢。如果可以的话,我们需要您的进一步帮助:
&nb ......
表:
CREATE TABLE `user` (
`id` int(5) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(10) DEFAULT NULL,
`password` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
其中有数据为:
1 name1 123456
2&nbs ......