MySQL 模糊查询
2016-07-19 15:56
513 查看
mysql模糊查询两种匹配模式
1.sql匹配模式
1).不能使用操作符"="或"!=",而是使用操作符LIKE或 NOT LIKE
2).通配符:"%"表示任意数量的任意字符(包含0个);"_"表示任意单个字符
3).默认情况下不分区大小写
4).如果匹配格式中不含上述两种通配符中的任意一个,其效果等同于"="或"!="
2.正则表达式匹配模式(不推荐)
1)正则表达式匹配模式使用的的操作符是REGEXP或NOT REGEXP,(或者是RLIKE、NOT RLIKE)
e.g.
1.查询用户表中用户名以z开头的记录
SQL:SELECT * FROM tbl_user WHERE username LIKE 'z%'
正则:SELECT * FROM tbl_user WHERE username REGEXP '^z';
2.查询用户名长度为3的用户记录
SQL:SELECT * FROM tbl_user WHERE username LIKE '___';
正则:SELECT * FROM tbl_user WHERE username REGEXP '^...$';
3.查询用户名第二个字符为z的用户记录
SQL:SELECT * FROM tbl_user WHERE username LIKE '_z%';
正则:SELECT * FROM tbl_user WHERE username REGEXP '^.z';
1.sql匹配模式
1).不能使用操作符"="或"!=",而是使用操作符LIKE或 NOT LIKE
2).通配符:"%"表示任意数量的任意字符(包含0个);"_"表示任意单个字符
3).默认情况下不分区大小写
4).如果匹配格式中不含上述两种通配符中的任意一个,其效果等同于"="或"!="
2.正则表达式匹配模式(不推荐)
1)正则表达式匹配模式使用的的操作符是REGEXP或NOT REGEXP,(或者是RLIKE、NOT RLIKE)
e.g.
1.查询用户表中用户名以z开头的记录
SQL:SELECT * FROM tbl_user WHERE username LIKE 'z%'
正则:SELECT * FROM tbl_user WHERE username REGEXP '^z';
2.查询用户名长度为3的用户记录
SQL:SELECT * FROM tbl_user WHERE username LIKE '___';
正则:SELECT * FROM tbl_user WHERE username REGEXP '^...$';
3.查询用户名第二个字符为z的用户记录
SQL:SELECT * FROM tbl_user WHERE username LIKE '_z%';
正则:SELECT * FROM tbl_user WHERE username REGEXP '^.z';
相关文章推荐
- MySQL数据库,根据传入的字符换进行切割,并获得指定位置被切割的字符串。
- mysql_config_editor工具
- OTL连接MySQL之unixODBC、mysql-connector-odbc安装配置
- MySQL 数据库性能优化之缓存参数优化
- MySQL 数据库性能优化之表结构优化
- mysql循环插入数据
- MySQL设置远程访问
- MySQL 数据库性能优化之索引优化
- MySQL设置远程访问
- MySQL 数据库性能优化之SQL优化
- MySQL 的各存储引擎特点-MySQ 存储引擎选择
- mysql的autocommit详解
- MySQL 5.6 编译安装步骤
- Hibernate4学习笔记(一): 生成mysql数据库表
- mysql update 子查询
- mysql-proxy实现读写分离
- mysql删除多个字段
- mysql数据库分配、取消权限
- MySQL索引建立与删除
- mysql索引无效且sending data耗时巨大原因分析