MySQL检索数据(过滤+通配符+正则表达式)

【0】README
0.1)本文部分文字描述转自“MySQL 必知必会”,旨在review “MySQL的基础知识”;

【1】检索数据
1)检索单个列:select a_name from table_name;
2)检索多个列:select a_name,b_name from table_name;
3)检索所有列:select * from table_name;
attention)一般不推荐使用 select *,除非你确实需要表中的每个列,因为检索不需要的列通常会降低检索和应用程序的性能;
4)检索不同行: select distince column_name from table_name;

Attention)distinct 应用于所有列而不仅仅是前置列;
5)限制结果
5.1)select * from product limit 5: limit 5 指示 mysql 返回不多于5行;

5.2)select * from product limit 5, 5: 从行5开始的连续5行数据;


Attention)
A1)行0:检索出来的第一行是行0而不是行1,所以 limit 1,1 将检索出第二行而不是第一行;
A2)MySQL5的limit语法:limit 3,4 表示 从行3开始的4行;
A3)上面的limit 3,4 容易吧人搞糊涂,一种替代语法:limit 4 offset 3;从行3开始取4行;

【2】排序检索数据
1)order by 子句:

2)按照多个列进行排序

3)指定排序方向(默认是升序排序,为了进行降序排序,指定desc关键字(descend,下降))
Attention)
A1)与desc相反的关键字时 asc(ascend,升高);
A2)关键字 desc 只应用到其前面的列名;

4)order by 子句的位置:其 在 from 子句之后,在limit 子句之前;

【3】过滤数据
1)使用where子句:where的位置 在order by 之前;
2)where子句的操作符


3)范围检查:between的测试用例

Attention)不推荐在client端进行过滤,因为如果在客户机上进行过滤数据,服务器不得不通过网络发送多余的数据,这将导致网络带宽的浪费;
4)空值检查:is null 子句

【4】过滤数据补充
1)组合where子句
1.1)and 操作符:

1.2)or 操作符:

1.3)计算次序: 请注意 and 和 or 操作符的优先级,and的优先级高于or,必要时使用括号;
2)in 操作符:in 操作符用来指定条件范围,范围中的每个条件都可以进行匹配;其功能和or 操作符相同;

3)not 操作符

【5】用通配符进行过滤
0)intro to 通配符
0.1)通配符:用来匹配值的一部分的特殊字符;
0.2)搜索模式:由字面值,通配符或两者组合构成的搜索条件;
0.3)必须使用like操作符:为在搜索子句中使用通配符,必须使用like 操作符。like指示MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较;
1)通配符介绍
1.1)百分号(%)通配符:%表示任何字符出现任意次数;


2)下划线通配符:下划线只匹配单个字符而不是多个字符;

3)使用通配符的技巧(skill)
s1)不要过度使用通配符;
s2)在确实需要使用通配符时,除非绝对有必要,否则不要把它们用在搜索模式的开始处。把通配符置于搜索模式的开始处,搜索起来是最慢的 ;

【6】用正则表达式进行搜索
1)intro to 正则表达式:正则表达式的作用是匹配文本,将一个模式(正则表达式)与一个文本串进行比较;
2)基本字符匹配:

3)点(.)匹配任意一个字符

4)进行or 匹配

5)匹配几个字符之一

Attention)
A1)正则表达式[12]000 是 [1|2]000的缩写;
A2)字符集合也可以被否定:即,他们将匹配除指定字符外的任何东西。为否定一个字符集,在集合的开始处放置一个 ‘^’即可。

6)匹配范围
6.1)匹配数字0到9:[0-9];
6.2)匹配字母a到z:[a-z];

7)返回特殊字符
problem)如果我们要匹配点(.)这个字符,应该怎么写正则表达式呢?
solution)通过写 '\\.' 进行匹配;(这是所谓的转义字符)

8)匹配字符类

9)匹配多个实例(匹配多次出现的模式)


10)定位符
10.1)为匹配特定位置的文本,需要定位符,如下所示:

10.2)匹配以数字或点(.)为开头的行



Attention)
A1)‘^’ 字符的双重作用:在集合中(用[]定义 ),用它来否定该集合;否则(在[]前面),用来指定串的开始处;
A2)regexp 和 like 的区别: like 匹配整个串而 regexp 匹配子串;
A3)利用定位符,通过^ 开始每个表达式,$ 结束每个表达式;




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

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

相关文章

创建者模式

转载自 设计模式之创建者模式创建者模式又叫建造者模式,是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。创建者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加以抽象,通过子类继承或者重…

buildpack_使用Buildpack容器化Spring Boot应用程序

buildpack在本文中,我们将看到如何使用Buildpacks容器化Spring Boot应用程序。 在先前的一篇文章中,我讨论了Jib 。 Jib允许我们在不使用Dockerfile的情况下将任何Java应用程序构建为Docker映像。 现在,从Spring Boot 2.3开始,我们…

MySQL创建字段+数据处理函数+汇总数据(聚集函数)+分组数据

【0】README0.1)本文部分文字描述转自“MySQL 必知必会”,旨在review“MySQL创建字段数据处理函数汇总数据(聚集函数)分组数据” 的基础知识;【1】创建计算字段1)problemsolution1.1)problem&am…

apache.camel_Apache Camel 3.2 – Camel的无反射配置

apache.camel在Apache Camel项目中,我们正在努力开发下一个即将发布的Apache Camel 3.2.0版本。 我们在Camel 3中努力研究的问题之一就是使其变得更小,更快。 其中一个方面是配置管理。 您可以按照12要素原则以多种方式完全配置Camel,以使配…

MySQL数据检索+查询+全文本搜索

【0】README0.1)本文部分文字描述转自“MySQL 必知必会”,旨在review“MySQL数据检索查询全文本搜索” 的基础知识;【1】使用子查询1)查询定义:任何sql 语句都是查询。但此术语一般指 select语句;SQL 还允许…

selenium自动化测试_49自动化测试中最常见的Selenium异常

selenium自动化测试开发人员将始终在编写代码时牢记不同的场景,但是在某些情况下,实现可能无法按预期工作。 相同的原则也适用于测试代码,该代码主要用于测试现有产品的功能,发现bug并确保产品100%不受bug影响。 正确…

MySQL的CRUD操作+使用视图

【0】README0.1)本文部分文字描述转自“MySQL 必知必会”,旨在review“MySQL数据检索查询全文本搜索” 的基础知识;【1】插入数据1)insert是用来插入(或添加)行到数据库表的。插入可以用以下几种方式使用&a…

mega x_[MEGA DEAL] 2020年完整的Java Master Class Bundle(96%)

mega x通过超过62个小时的培训来掌握最流行的编程语言,从而树立信誉良好的开发人员职业 嘿,怪胎, 这一周,我们JCG促销专区 ,我们有另一个极端的报价 。我们正在提供一个巨大的96%off的完整2020 Python编程…

tomcat(11)org.apache.catalina.core.StandardWrapper源码剖析

【0】README0.0)本文部分文字描述转自 “how tomcat works”,旨在学习 “tomcat(11)StandardWrapper源码剖析” 的基础知识;0.1)StandardWrapper 是 Catalina中对Wrapper接口的标准实现;要知道,tomcat 中有…

lambda表达式语法_使用类似Lambda的语法作为Java中的表达式进行切换

lambda表达式语法从Java 14开始, switch表达式具有其他Lambda式 ( case ... -> labels )语法,它不仅可以用作语句,还可以用作计算为单个值的表达式。 对于新的类似Lambda的语法,如果标签匹配&#xff0…

装饰器模式(讲解+应用)

转载自 设计模式(5)装饰器模式(讲解应用)目录 装饰器模式为什么使用装饰器模式应用实例 装饰器模式 看到装饰器是在看《Thinking in Java》一书的时候,看到文件读写那边的时候,有提到装饰器模式&#xff0c…

quarkus_使用Quarkus调试容器中的系统测试(视频)

quarkus如果您能够借助容器在本地进行端到端测试应用程序,则可以提高开发效率。 在下面的视频中,我将展示如何使用Quarkus在Docker容器中调试本地系统测试。 这是我关于有效测试的视频课程的Quarkus扩展。 要全面了解,还可以查看以下资源&a…

MySQL事务管理+安全管理+MySQL数据类型

【0】README0.1)本文部分文字描述转自“MySQL 必知必会”,旨在review“MySQL事务管理安全管理MySQL数据类型” 的基础知识;【1】管理事务处理【1.1】事务处理1)并非所有引擎都支持事务管理,MyISAM 不支持,而…

超音速 启动_从根本上讲超音速亚原子Enterprise Java

超音速 启动我创建了一个视频,其中我用Quarkus解释了“超音速亚原子Java”,这是现代Java应用程序的运行时。 无论您是刚开始涉足Enterprise Java领域,还是已经是一位经验丰富的Java EE / J2EE开发人员,本课程都将指导您如何在2020…

利用java求积分(定积分和无穷限积分)

【0】README0.1)本文部分文字描述转自或译自 https://en.wikipedia.org/wiki/Simpson%27s_rule和 https://en.wikipedia.org/wiki/Numerical_integration#Methods_for_one-dimensional_integrals;旨在利用java求积分;(定积分和无穷…

Java的三种代理模式

转载自 Java的三种代理模式1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的…

后台审核管理 ergo_Kogito,ergo规则:从知识到服务,轻松自如

后台审核管理 ergo欢迎阅读有关Kogito倡议的博客系列的另一集,以及我们将Drools带入云的努力。 这些文章的目的是收集用户对我们提供给Kogito的功能的早期反馈。 在本文中,我们介绍了两种实现完整智能服务的新方法 : 独立的规则服务 集成智…

java转换文本文件到xlsx(自制缓冲区,无需先验文件行数)

【0】README0.1)本文代码利用了 Apache POI 框架 建立 java 到 xlsx 代码的联系;0.2)本文自制缓冲区从文本文件中读取数据读取,无需先验文件行数;0.3)本文通过缓冲区大小创建数组,数组容量自动增…

spring react_使用Spring WebFlux构建React性REST API –第3部分

spring react在上一篇文章的续篇中,我们将看到一个应用程序以公开React性REST API。 在此应用程序中,我们使用了 带有WebFlux的Spring Boot 具有响应式支持的Cassandra的Spring数据 卡桑德拉数据库 下面是应用程序的高级体系结构。 让我们看一下bui…

tomcat(12)org.apache.catalina.core.StandardContext源码剖析

【0】README0)本文部分文字描述转自 “how tomcat works”,旨在学习 “tomcat(12)StandardContext源码剖析” 的基础知识;1)Context实例表示一个具体的web 应用程序,其中包含一个或多个Wrapper实例,每个Wra…