博客
关于我
MySQL学习笔记.查询数据3
阅读量:517 次
发布时间:2019-03-07

本文共 4700 字,大约阅读时间需要 15 分钟。

正则表达式查询

查询特定字符或字符串开头的记录

字符‘^’匹配以特定字符或字符串开头的文本

1.查询以x开头的记录

mysql> SELECT *    -> FROM fruits    -> WHERE f_name REGEXP '^x';+------+------+---------+---------+| f_id | s_id | f_name  | f_price |+------+------+---------+---------+| b5   |  107 | xxxx    |    3.60 || m2   |  105 | xbabay  |    2.60 || t4   |  107 | xbababa |    3.60 |+------+------+---------+---------+3 rows in set (0.00 sec)

2查询以xx开头的记录

mysql> SELECT *    -> FROM fruits    -> WHERE f_name REGEXP '^xx';+------+------+--------+---------+| f_id | s_id | f_name | f_price |+------+------+--------+---------+| b5   |  107 | xxxx   |    3.60 |+------+------+--------+---------+1 row in set (0.00 sec)

查询特定字符或字符串结尾的记录

字符$匹配以特定字符或字符串结尾的文本

1.查询以e结尾的记录

mysql> SELECT *    -> FROM fruits    -> WHERE f_name REGEXP 'e$';+------+------+--------+---------+| f_id | s_id | f_name | f_price |+------+------+--------+---------+| a1   |  101 | apple  |    5.20 || bs1  |  102 | orange |   11.20 || t2   |  102 | grape  |    5.30 |+------+------+--------+---------+3 rows in set (0.00 sec)

2.查询以go结尾的记录

mysql> SELECT *    -> FROM fruits    -> WHERE f_name REGEXP 'go$';+------+------+--------+---------+| f_id | s_id | f_name | f_price |+------+------+--------+---------+| m1   |  106 | mngo   |   15.70 |+------+------+--------+---------+1 row in set (0.00 sec)

用符号.来代替字符串中任一字符

字符.匹配任意一个字符

1.查询包含r某y的记录

mysql> SELECT *    -> FROM fruits    -> WHERE f_name REGEXP 'r.y';+------+------+------------+---------+| f_id | s_id | f_name     | f_price |+------+------+------------+---------+| b1   |  101 | blackberry |   10.20 || b2   |  104 | berry      |    7.60 || c0   |  101 | cherry     |    3.20 |+------+------+------------+---------+3 rows in set (0.00 sec)

用符号“*”和“+”来匹配多个字符

“*”可匹配前面多个字符,“+”至少匹配前面字符一次

mysql> SELECT *    -> FROM fruits    -> WHERE f_name REGEXP '^mn*';+------+------+--------+---------+| f_id | s_id | f_name | f_price |+------+------+--------+---------+| bs2  |  105 | melon  |    8.20 || m1   |  106 | mngo   |   15.70 |+------+------+--------+---------+2 rows in set (0.00 sec)
mysql> SELECT *    -> FROM fruits    -> WHERE f_name REGEXP '^mn+';+------+------+--------+---------+| f_id | s_id | f_name | f_price |+------+------+--------+---------+| m1   |  106 | mngo   |   15.70 |+------+------+--------+---------+1 row in set (0.00 sec)

匹配指定字符串

正则表达式可以匹配指定的字符串,只要这个字符串在查询文本中即可,如果要匹配多个字符串,多个字符串之间使用分隔符"|"隔开

1.查询包含字符串“ge”的记录

mysql> SELECT *    -> FROM fruits    -> WHERE f_name REGEXP 'ge';+------+------+--------+---------+| f_id | s_id | f_name | f_price |+------+------+--------+---------+| bs1  |  102 | orange |   11.20 |+------+------+--------+---------+1 row in set (0.00 sec)

2.查询包含“ge”或者"na"的记录

mysql> SELECT *    -> FROM fruits    -> WHERE f_name REGEXP 'ge|na';+------+------+--------+---------+| f_id | s_id | f_name | f_price |+------+------+--------+---------+| bs1  |  102 | orange |   11.20 || t1   |  102 | banana |   10.30 |+------+------+--------+---------+2 rows in set (0.00 sec)

匹配指定字符中的任意一个

方括号“[]”指定一个字符集合,只匹配其中任何一个字符。

1.查询包含字母“a”或者"e"的记录

mysql> SELECT *    -> FROM fruits    -> WHERE f_name REGEXP '[ae]';+------+------+------------+---------+| f_id | s_id | f_name     | f_price |+------+------+------------+---------+| a1   |  101 | apple      |    5.20 || a2   |  103 | apricot    |    2.20 || b1   |  101 | blackberry |   10.20 || b2   |  104 | berry      |    7.60 || bs1  |  102 | orange     |   11.20 || bs2  |  105 | melon      |    8.20 || c0   |  101 | cherry     |    3.20 || m2   |  105 | xbabay     |    2.60 || t1   |  102 | banana     |   10.30 || t2   |  102 | grape      |    5.30 || t4   |  107 | xbababa    |    3.60 |+------+------+------------+---------+11 rows in set (0.00 sec)

使用{n,}或者{n,m}来指定字符串出现的次数

查询至少连续出现2次r的记录

mysql> SELECT *    -> FROM fruits    -> WHERE f_name REGEXP 'r{2,}';+------+------+------------+---------+| f_id | s_id | f_name     | f_price |+------+------+------------+---------+| b1   |  101 | blackberry |   10.20 || b2   |  104 | berry      |    7.60 || c0   |  101 | cherry     |    3.20 |+------+------+------------+---------+3 rows in set (0.00 sec)

匹配指定字符以外的字符

“[^字符集合]”匹配不在指定集合中的任何字符

匹配非101-104的记录

mysql> SELECT *    -> FROM fruits    -> WHERE s_id REGEXP '[^101-104]';+------+------+---------+---------+| f_id | s_id | f_name  | f_price |+------+------+---------+---------+| a2   |  103 | apricot |    2.20 || b5   |  107 | xxxx    |    3.60 || bs1  |  102 | orange  |   11.20 || bs2  |  105 | melon   |    8.20 || m1   |  106 | mngo    |   15.70 || m2   |  105 | xbabay  |    2.60 || t1   |  102 | banana  |   10.30 || t2   |  102 | grape   |    5.30 || t4   |  107 | xbababa |    3.60 |+------+------+---------+---------+9 rows in set (0.00 sec)

转载地址:http://kzfnz.baihongyu.com/

你可能感兴趣的文章
NIFI大数据进阶_Json内容转换为Hive支持的文本格式_操作方法说明_01_EvaluteJsonPath处理器---大数据之Nifi工作笔记0031
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka生产者---大数据之Nifi工作笔记0036
查看>>
NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
查看>>
NIFI大数据进阶_NIFI监控功能实际操作_Summary查看系统和处理器运行情况_viewDataProvenance查看_---大数据之Nifi工作笔记0026
查看>>
NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
查看>>
NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
查看>>
NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
查看>>
NIFI大数据进阶_使用NIFI表达式语言_来获取自定义属性中的数据_NIFI表达式使用体验---大数据之Nifi工作笔记0024
查看>>
NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
查看>>
NIFI大数据进阶_内嵌ZK模式集群2_实际操作搭建NIFI内嵌模式集群---大数据之Nifi工作笔记0016
查看>>
NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
查看>>
NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_实际操作_03---大数据之Nifi工作笔记0035
查看>>
NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_操作方法说明_01---大数据之Nifi工作笔记0033
查看>>
NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_操作方法说明_02---大数据之Nifi工作笔记0034
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_01_实际操作---大数据之Nifi工作笔记0029
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
查看>>