mysql模糊查询 or_mysql的模糊查询

mysql模糊查询like/REGEXP

(1)like / not like

MySql的like语句中的通配符:百分号、下划线和escape

%:表示任意个或多个字符。可匹配任意类型和长度的字符。

Sql代码

select * from user where username like '%huxiao';

select * from user where username like 'huxiao%';

select * from user where username like '%huxiao%';

另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件

SELECT * FROM [user] WHERE u_name LIKE ‘%三%’ AND u_name LIKE ‘%猫%’

若使用 SELECT * FROM [user] WHERE u_name LIKE ‘%三%猫%’

虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。

_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:(可以代表一个中文字符)

Sql代码

select * from user where username like '_';

select * from user where username like 'huxia_';

select * from user where username like 'h_xiao';

如果我就真的要查%或者_,怎么办呢?使用escape,转义字符后面的%或_就不作为通配符了,注意前面没有转义字符的%和_仍然起通配符作用

Sql代码

select username from gg_user where username like '%xiao/_%' escape '/';

select username from gg_user where username like '%xiao/%%' escape '/'; 意思就是说/之后的_不作为通配符

(2)正则表达式

规则如下:

^ 匹配字符串的开始部分

$ 匹配字符串的结束部分

. 匹配任何字符(包括回车和新行)

a* 匹配0或多个a字符的任何序列

a+ 匹配1个或多个a字符的任何序列

a? 匹配0个或1个a字符

de|abc 匹配序列de或abc

(abc)* 匹配序列adc的0个或者多个实例

{n}、{m,n} {n}或{m,n}符号提供了编写正则表达式的更通用方式,能够匹配模式的很多前述原子(或“部分”)。m和n均为整数。

a* 可被写为a{0,}

a+ 可被写为a{1,}

a? 可被写为a{0,1}

[a-dX] 匹配任何是a,b,c,d或者X的字符,两个其他字符之间的’-'字符构成一个范围

[^a-dX] 匹配任何不是a,b,c,d或者X的字符,前面的字符’^'是否定的意思

举例如下:

^,匹配字符串开始位置,还是上面的例子,查询所有姓王的人名

select name from 表名 where name regexp '^王';

$,匹配字符串结束位置,如查询所有姓名末尾是“明”的人名

select name from 表名 where name regexp '明$';

.,匹配除\n之外的任意单个字符,类似于_,就不写sql语句了

[……],匹配[]中包含的任何一个字符,abcdef……xyz可以简写为[a-z],0123456789简写成[0-9],如查询出w/z/s开头的的人名

select name from 表名 where name regexp '^[wzs]';

[^……],匹配不包含在[]的字符,如查询出除了w/z/s开头之外的人名

select name from 表名 where name regexp '^[^wzs]';

a|b|c,匹配a或b或c,如将绩效为A-或A或A+的员工查出来,假设绩效列名performance

select performance from 表名 where performance regexp 'A-|A|A+';

*,重复0次或多次,熟悉javascript正则的同学都知道

'str*'可以匹配st/str/strr/strrr……

?,重复0次或1次

'str?'可以匹配st/str

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561590.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

命令行输入mysql不行_MySQL命令行无法插入中文数据

下面的方法是针对window系统的注意:1 下面的my.ini文件在有些版本的Mysql中的安装目录找不到,比如我用的版本5.5.60-log就找不到,想要找到这个文件,需要设置显示window系统隐藏文件(不懂的自行百度,因系统的版本不同而…

mysql查看现在使用的引擎_mysql查看当前库使用的引擎及简单操作

随手写下一些操作mysql现在已提供什么存储引擎:mysql> show engines;mysql当前默认的存储引擎:mysql> show variables like %storage_engine%;某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):mysql> show create table 表名;如何查看My…

mysql 获取天数_MySQL获取某月份的天数

1、last_day(curdate());获取当月最后一天。2、DAYOFMONTH(last_day(curdate())); 返回date对应的该月日期。当然这就是当月的天数。这就出来当月天数了,相当简单。最初的时候去网上找的下面的内容。虽然逻辑上没错,但是思路有点问题,mysql那…

mysql 表损坏_MYSQL数据表损坏的原因分析和修复方法小结(推荐)

1.表损坏的原因分析以下原因是导致mysql 表毁坏的常见原因:1、 服务器突然断电导致数据文件损坏。2、 强制关机,没有先关闭mysql 服务。3、 mysqld 进程在写表时被杀掉。4、 使用myisamchk 的同时,mysqld 也在操作表。5、 磁盘故障。6、 服务…

mysql的存储过程和索引区别_mysql查看索引与存储过程

mysql查看索引与存储过程创建索引:CREATE INDEX可对表增加普通索引或UNIQUE唯一索引。CREATE INDEX index_name ON table_name (column_list)CREATE UNIQUE INDEX index_name ON table_name (column_list)ALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARY KEY主键。ALTER TAB…

mysql悲观锁关键字_MySQL悲观锁 select for update实现秒杀案例(jfinal框架)

MySQL悲观锁 select for update实现秒杀案例(jfinal框架)发布时间:2018-08-17作者:laosun阅读(4287)为了方便测试,博主使用最新的jfinal框架,里边的东西就修改了一下a_little_config.txt,配置数据库链接的,…

pl sql 连接mysql_PL/SQL 连接mysql步骤

下面就将PL/SQL的配置说明一下。一、安装Oracle客户端,让后配置 安装目录下面的C:\ORACLE\instantclient_11_2\NETWORK\ADMIN 的 tnsnames.ora文件,如下:修改成自己的配置名 (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST 服务器IP)(PORT…

mysql 创建表时提示错误代码_MySQL创建表时遇到的错误

学习MySQL第一个程序就遇到了bug。创建表时需注意的事项加以总结: 1、先创建数据库: create database 数据库名;然后连接要用的数据库 use 数据库名;下面就可以执行建表语句 了。2、错误提示:ERROR 1064 (4…

根据工序画出aoe网_这些金刚网纱窗竟然含“毒”!选错就得病

窗户进行装修我们通常会安装纱窗,这样可以阻止一些蚊虫或者灰尘进入家里。金刚网纱窗是业主们常常挑选的一种纱窗。不过最近听别人说金刚网纱窗是含毒的,这不禁让安装这种纱窗的业主感到吃惊,而这消息是真是假呢我们看看专家的说法&#xff0…

7 centos 时钟跟物理机同步_centos7上使用chrony自动同步时间

在linux中,有些服务必须依靠准确的时间,才能够在运行的时候不出差错,例如DNS,LVS,HTTPS等,都需要后台的服务器之间保持时间的同步。而Centos系统中自带的有安装对应的同步时间的服务。centos7中默认安装的是…

mysql key_mysql 索引 key 的用法

mysql 索引 key 的用法mysql> desc aa;-------------------------------------------| Field | Type | Null | Key | Default | Extra |-------------------------------------------| id | int(11) | YES | | NULL | |-------------------------------…

防火墙阻止网页连接网络连接_win7电脑打不开网页怎么办 win7电脑打不开网页解决步骤【图文步骤】...

我们在使用电脑的过程当中,经常都会浏览一些网页,不过最近有位win7系统用户在使用电脑浏览网页的时候却遇到了网页打不开网页的问题,这导致了很多事情都无法操作,其实网页打不开的问题,一般都跟网络有关,那…

mysql mysqldumpslow_慢日志分析工具—mysqldumpslow 和 mysqlsla

前提:分析mysql性能的时候会查看数据库的哪些sql语句有问题,效率低。这就用到了数据库的慢查询,作用就是: 它能记录下所有执行超过long_query_time时间的SQL语句,帮你找到执行慢的SQL,方便我们对这些SQL进行…

mysql分库分表面试_【53期】面试官:谈一下数据库分库分表之后,你是如何解决事务问题?...

点击上方“Java面试题精选”,关注公众号面试刷图,查缺补漏>>号外:往期面试题,10篇为一个单位归置到本公众号菜单栏->面试题,有需要的欢迎翻阅。一、概述随着时间和业务的发展,数据库中表的数据量会…

pandas python groupby_python – 如何使用pandas groupby汇总多个列?

我有一个看起来像的数据框day type col d_1 d_2 d_3 d_4 d_5...1 A 1 1 0 1 01 A 2 1 0 1 02 B 1 1 1 0 0也就是说,我有一个普通的列(col)和许多以d_为前缀的列我需要按日执行groupby并键入,我想计算每个日期类型组合的每个d_列中的值的总和.我还需要在我的数据中的其他列上执行…

圆管当量直径_截面相同时,正方型截面的当量直径大于圆管直径。( )。

“党在过渡时期的总路线的实质,截面就是使生产资料的社会主义公有制成为我们国家和社会的( )的经济基础。”根据小儿尿道特点,相同型截易患的疾病为正方直径直径泌尿系感染的致病菌最为常见的是当量大于汽车离合器踏板自由行程过小或没有行程, 将会引起(…

h710阵列卡支持最大硬盘_DELL服务器RAID磁盘阵列在线扩容(以H710P阵列卡为例)

DELL服务器RAID磁盘阵列在线扩容(以H710P阵列卡为例)分享到:作者来源: 未知 发布时间:2013-01-12简介我们可通过扩充容量和 / 或改变 RAID 级别的方式来重新配置联机虚拟磁盘。注: 跨接式虚拟磁盘 (如 RAID 10、 50 和 60)无法重新配置…

linuxpgrepgrep_linux命令:ps pstree pgrep pidof进程管理

ps命令简介:此个命令用于查看用户进程。1.命令格式:ps [option] : ps 参数常用的使用格式:ps aux |grep keyword 通过关键字查找相关的进程信息[rootxuelinux ~]# ps aux 显示所有进程的信息USER PID %CPU %MEM …

bash shell sed 获取第一行_老司机给出的关于 shell 脚本的8个建议,必收!

这八个建议,来源于键者几年来编写 shell 脚本的一些经验和教训。事实上开始写的时候还不止这几条,后来思索再三,去掉几条无关痛痒的,最后剩下八条。毫不夸张地说,每条都是精挑细选的,虽然有几点算是老生常谈…

springmvc与mysql实例_Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

摘要:本文主要讲了如何使用Maven来搭建SpringMybatisSpringMVCMySql的搭建实例,文章写得很详细,有代码有图片,最后也带有运行的效果。一、准备工作1. 首先创建一个表:CREATE TABLE t_user (USER_ID int(11) NOT NULL A…