9、mysql数据表中数据的查询(1)

使用数据库最终要的莫过于查询数据,所以这里将会详细的介绍mysql数据库中查询语句的使用

普通查询

使用基本的select关键字进行查询,其语法及使用如下

# 格式
select [select选项] 字段 [as 别名] from 数据表;# 查询出所有字段的值,不建议直接写*
select * from user;# 查询出指定字段的值
select id,name from user;# 过滤掉指定字段重复的数据,自动过滤调用多余的id和name两个字段值相同的记录
select distinct id,name from user;# 给查询出的字段去别名
select name as user_name from user;

带有子句的查询

mysql中的子句有5类,如下:

where用于条件判断,过滤数据,判断条件有:> ,< , >= ,<= ,!= ,like ,between and ,in/not in ,and ,or 。 where是唯一一个直接从磁盘获取数据时就进行判断的条件where id = 5
group by用于引导分组查询语句group by age
having作用类似于where,但是它是对内存中的数据进行过滤,通常和group by连用,可以使用字段的别名进行条件判断group by age having count(age) > 5
order by排序查询,对查询出的数据进行排序,asc表示升序,desc表示降序order by id desc
limit用于限制返回查询的数据记录数,一般用于分页使用limit 10

以上几个子句可以混合使用,接下来写几个实例,来看一下如何使用

# 使用where进行条件判断
select name,age from user where id > 2;# 获取当前表中前10条数据
select name,age from user limit 10;# 获取表中第5到第8条数据
select name , age from user limit 4,4; # 获取表中第i到第j条数据
select name ,age from user limit (i-1) , (j-i-1) ;# 查询user表中有哪几类名字
select name from user group by name;# 将所有数据按着年龄大小排序(NULL值默认是最小的)
select name,age from user order by age desc;# 查询相同名字数量大于2的有几人,名字是什么(count是一个内置的函数,用于计算个数,有几条记录,count函数的值就为几)
select name ,count(name) from user group by name having count(name) > 2;

联合查询

联合查询指的是将多个查询结果组成一个查询结果返回,使用union关键字完成联合查询,注意每一个查询结果的返回字段数、类型必须一致,一般在处理多个类型不同但是数据结构相同的表时使用,实例如下:

# 联合查询,过滤掉所有对应字段值都相同的数据
select name,age from user1 where id < 5 
union 
select name,age from user2 where id > 7;# 联合查询,不会过滤掉所有对应字段值都相同的数据
select name,age from user1 where id < 5 
union all
select name,age from user2 where id > 7;

正则查询

# ^匹配以特定字符串开头的记录
select id,name,age from user where name regexp '^li';# $匹配以特定字符串结尾的记录
select id,name,age from user where name regexp 'si$';# .匹配字符串的任意一个字符(只要带s的都会被查询到)
select id,name,age from user where name regexp '.s';# [字符集合] 匹配字符集合中的任意一个字符,只要name值带有i或者s的都会被查询到
select id,name,age from user where name regexp '[is]';# [^字符集合] 匹配除字符集合以外的任意一个字符
select id,name,age from user where name regexp '[^is]';# S1|S2|S3  匹配S1,S2,S3中的任意一个字符串
select id,name,age from user where name regexp 'si|san';# a*b 匹配b之前出现过a的记录,包括0次
select id,name,age from user where name regexp 'l*s';# a+b 匹配b之前出现过a的记录,至少1次
select id,name,age from user where name regexp 'l+s';# a{N} 匹配字符串a连续出现过N次的记录
select id,name,age from user where name regexp  'i{2}';# a{M,N} 匹配字符串至少出现过M次,至多出现过N次的记录
select id,name,age from user where name regexp  'i{2,5}';

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

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

相关文章

P4092-[HEOI2016/TJOI2016]树【线段树,倍增】

正题 题目链接:https://www.luogu.com.cn/problem/P4092 题目大意 nnn个点的树要求支持以下操作 给一个点打上标记求一个节点最近的打上了标记的祖先 解题思路 就是求深度最大的打上了标记的祖先&#xff0c;先跑一遍dfsdfsdfs序&#xff0c;然后对于修改操作就在线段树上整…

微软西雅图总部DevOps交流总结

本文转自Study4台湾社区。Study4台湾社区&#xff0c;成立于2011/9/25&#xff0c;希望藉由社群推广的力量&#xff0c;让台下的朋友听到来自不同县市的大师讲课&#xff0c;也让台上年轻一辈的技术传教士能不断的琢磨并且追上大师这是一个社群&#xff0c;社区希望透过分享&am…

12、数据库的设计范式

设计的数据表一般都是根据实际业务实体模型进行创建&#xff0c;为了提高存储的效率&#xff0c;设计数据表时一般按着几个标准进行设计 第一范式每个字段的数据具有原子性&#xff0c;使用字段的数据时不用再解析&#xff0c;可直接使用第二范式表的每一个字段都必须依赖主键…

C# 快速高效率复制对象另一种方式 表达式树

一、需求在代码中经常会遇到需要把对象复制一遍&#xff0c;或者把属性名相同的值复制一遍。比如&#xff1a;public class Student{public int Id { get; set; }public string Name { get; set; } public int Age { get; set; } }public class StudentSecond{public int Id { …

jzoj3783-[NOIP2014模拟8.19]签到题【结论题】

正题 题目链接:https://jzoj.net/senior/#main/show/3783 题目大意 nnn个数&#xff0c;求这个序列中一个非空子集的和是nnn的倍数。 解题思路 可以知道一定有一种解法是一段连续的序列。 证明:设sxs_xsx​表示(∑i1xai)%n(\sum_{i1}^xa_i)\%n(∑i1x​ai​)%n&#xff0c;那么…

13、mysql中视图的应用

是什么 视图是一种有结构没结果的虚拟表&#xff0c;其结构是从基表中产生的&#xff0c;视图主要用于查询数据。在sql层面上来看&#xff0c;视图就是对select查 询语句的封装&#xff0c;我们看到的虚拟表&#xff08;也就是视图&#xff09;就是select语句查询出的结果组成…

P4768-[NOI2018]归程【kruskal重构树,最短路】

正题 题目链接:https://www.luogu.com.cn/problem/P4768 题目大意 nnn个点mmm条边的无向图&#xff0c;然后每条边有水位和长度。 每次询问一个(v,w)(v,w)(v,w)表示从vvv点出发走高度超过www的路径到达一个点xxx使得x∼1x\sim1x∼1的最短路最短。 解题思路 先用DijDijDij跑出…

用C# (.NET Core) 实现抽象工厂设计模式

本文的概念性内容来自深入浅出设计模式一书.上一篇文章讲了简单工厂和工厂方法设计模式 使用的是披萨店的例子. 文将继续使用这个例子, 这里要用到抽象工厂.披萨店的需求变更现在披萨店在各地授权了很多连锁分店, 但是有的分店偷工减料, 使用劣质原料代替标准原料.披萨店老板现…

14、mysql中事务的应用

是什么 事务是一种保护连续操作同时满足&#xff08;实现&#xff09;的一种机制&#xff0c;用来保护数据的完整性&#xff0c;只适用于数据操作&#xff0c;不适用于结构操作&#xff0c;只有 innodb引擎的表具有事务安全的机制。就是说&#xff0c;在一个事务中做一系列的…

P3193-[HNOI2008]GT考试【KMP,dp,矩阵乘法】

正题 题目链接:https://www.luogu.com.cn/problem/P3193 题目大意 求有多少个长度为nnn的字符串不包含子串sss。 解题思路 考虑dpdpdp&#xff0c;用fi,jf_{i,j}fi,j​表示第iii个已经匹配到jjj时的方案数。 显然这与正常匹配十分相似&#xff0c;我们分为两种情况 ansi1sj…

Summer Training day4 欧拉降幂

Input2 Output2Hint 1. For N 2, S(1) S(2) 1.2. The input file consists of multiple test cases. Sample Input2 Sample Output2这道题的公式非常简单&#xff0c;就是求2^(N-1) %1e97 由于N实在是太大了&#xff0c;不能直接求快速幂&#xff0c;考虑到2^x % MOD是有循…

Project Honolulu 正式版发布为 Windows Admin Center

微软今天正式发布了 Project Honolulu 的正式版&#xff0c;其正式的名称为 Windows Admin Center&#xff0c;gOxiA 之前一直在这个 TAP 中&#xff0c;从 1711 到 1804 可以看出微软现在的开发速度之快&#xff0c;从测试情况看 WAC 质量非常高。正如之前日志说讲 Windows Ad…

15、sql编程基本语法介绍

使用sql也可以像java一样进行程序编写&#xff0c;说到编程&#xff0c;就离不开变量和流程控制&#xff0c;接下来介绍一下 变量 sql中的变量可分为系统变量和自定义变量 系统变量用于控制服务器表现的变量查看所有系统变量show global variables [like %关键字%]; -- 查看…

使用C# (.NET Core) 实现命令设计模式 (Command Pattern)

本文的概念内容来自深入浅出设计模式一书.项目需求有这样一个可编程的新型遥控器, 它有7个可编程插槽, 每个插槽可连接不同的家用电器设备. 每个插槽对应两个按钮: 开, 关(ON, OFF). 此外还有一个全局的取消按钮(UNDO).现在客户想使用这个遥控器来控制不同厂家的家用电器, 例如…

P4170-[CQOI2007]涂色【区间dp】

正题 题目链接:https://www.luogu.com.cn/problem/P4170 题目大意 给出长度为nnn的串目标串&#xff0c;每次可以在一连续的区间覆盖同种字符&#xff0c;求最少覆盖次数。 解题思路 我们分情况考虑&#xff0c;用fi,jf_{i,j}fi,j​表示从i∼ji\sim ji∼j都涂好需要的最少次…

16、mysql中函数的创建和使用

sql语言可以进行编程&#xff0c;说到编程&#xff0c;那一定少不了使用函数对代码进行最小级别的封装&#xff0c;接下来介绍一下mysql中函数的写法以及应用 mysql中的函数可分为两类&#xff1a;系统函数、用户自定义函数。 简单的介绍几个常用的系统的函数&#xff1a; 函…

Summer Training day4上帝与集合的正确用法 欧拉函数+降幂公式

这个题的指数太大了&#xff0c;因此要考虑用降幂公式进行降幂 记f(p) 2^2^2... % p f(p) 2^(2^2^2...%phi(p) phi(p)) % p 2^(f(phi(p)) phi(p)) % p 到这里我们得到了一个递推方程&#xff0c;边界f(1) 0 #include <iostream> #include <cstdio> #inclu…

17、mysql中的存储过程的应用

其实存储过程也可以叫做过程&#xff0c;而函数也可以叫做存储函数&#xff0c;两者都是处理数据的一种方式&#xff0c;但是不同在于函数是必须要有返回值的&#xff0c;而过程则没有返回值&#xff0c;过程可以理解为是一种用来处理数据的没有返回值的函数&#xff0c;但是他…

CF9D-How many trees?【dp】

正题 题目链接:https://www.luogu.com.cn/problem/CF9D 题目大意 求nnn个点组成的深度大于hhh的二叉树有多少个。 解题思路 定义fi,jf_{i,j}fi,j​表示iii个点高度为jjj的树有多少个&#xff0c;然后每次将两棵(a,b)(x,y)(a,b)(x,y)(a,b)(x,y)合并就有 fax1,max{b,y}1fa,b∗…

把旧系统迁移到.Net Core 2.0 日记(2) - 依赖注入/日志NLog

Net Core 大量使用依赖注入(Dependency Inject), 打个比方,我们常用的日志组件有Log4Net,NLog等等.如果我们要随时替换日志组件,那么代码中就不能直接引用某个组件的内容,也不能直接New 某个组件.而是应该定义一组接口, 然后包装各个组件,实现这个接口. Net Core 自带组件容器,…