mysql数据库实现单表查询的方法
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这期内容当中小编将会给大家带来有关mysql数据库实现单表查询的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。数据库单表查询的方法:1、select查询操作,筛
千家信息网最后更新 2025年11月08日mysql数据库实现单表查询的方法
这期内容当中小编将会给大家带来有关mysql数据库实现单表查询的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
数据库单表查询的方法:1、select查询操作,筛选列;2、where语句,筛选行;3、group by分组;4、having过滤条件,是针对组做过滤条件,是放在group by后面执行的;5、order by排序,对查询出来的数据排序。
数据库单表查询的方法:
1、关键字执行的优先级(重点)
重点中的重点:关键字的执行优先级1:from #找到表2:where #使用where指定的条件,去表中取出一条条记录3:group by #将取出的数据进行分组,如果没有指定,则整体作为一组4:having #将分组的结果按照having指定的条件进行过滤5:select #指定select查询6:distinct #去重7:order by #将查询的结果按照order by指定的字段进行排序8:limit #限制结果的显示数量
2、select查询操作(筛选列)
1:#select 查询操作'''注意所有select 查询后面右加括号的方法,比如,select user()这种带括号的都是Mysql的 内置方法,select本身就是查询操作,from只是说明从哪查,'''select * from 表名; #查询表中所有的数据 *代表所有select 字段名 from 表名;#查询表中某一个字段的数据select 字段名,字段名,字段名 from 表名;#查询表中多个字段的数据select database();#查询返回当前操作的数据库select user();#查询当前登陆的用户select now;#查询返回当前的时间===========================================================2:#distinct 去重操作'''当使用select查询表某些字段数据的时候,这个字段中可能出现多个重复的数据,就可以使用distinct对查询出来的数据进行去重操作,distinct也可以对多个字段的数据进行联合去重'''select dictinct 字段名 from 表名;#对查出来的字段数据进行去重select distinct 字段名,字段名 from 表名;#对多个字段查询的数据进行联合去重===========================================================3:#四则运算'''使用select 查询某个字段的数据的时候,对数值类型的字段数据,可以进行四则运算,四则运 算包括加减乘除等操作'''select 字段名*12 from 表名;#对查询出来的数据乘以12,返回结果,>>字段名要是数值类型===========================================================4:#concat字符串拼接和concat_ws指定分割符进行拼接(自定义显示的格式)'''concat内置函数可以对查询出来的字段数据进行字符串拼接'''select concat('姓名:',name) from 表名;#对查询出来的姓名字段的数据前面都加上一 个字符串姓名,能够友好的显示查询出来的数据的意思,其实就是字符串拼接select concat(name,':',salary)as info from 表名;#concat还可以将两个字段的数据拼接,,产生一个新的字段数据显示出来,as是个这个字段重命名'''concat_ws()函数也只是字符串拼接,不过concat_ws的凭借方式是类似与python join拼接 的方式,就是以某个元素对多个字段的数据进行拼接''' select concat_ws('_','姓名:',name,'性别:',sex)as info from 表名;==========================================================5:#case end 语句 对查询出来的每一个数据进行加工和显示'''case语句的作用是,对表中数据进行查询时,对于查询出来的语句进行进一步的加工,并且显示出来,case end语句有点像python里的if语句,不过sql的case语句需要表明开始和结束,case代表开始,end代表结束.when代表的就是if条件,else就是其他,当有多个when的时候,从第二个when开始就代表的类似于elif的意思,,,,,知道了解就好>>>>>>'''select(case when name='田少岗' concat(name,'逗比') when name='田彩' concat(name,'女神') else concat(name,'边玩去') end)as now_name from 表名;==========================================================6:#select的相关总结; 可以查一个,多个,*所有 调用函数:now(),database(),concat(),concat_ws() 可以四则运算 可以去重 distinct 可以使用case end 条件判断语句3、where 筛选行语句
1:#范围查询 #< > >= <= != <>代表不等于和!=是一个意思 select age from 表名 where age <100 and age>20;(多条件查询) #between 1 and 10 找寻1到10之间的 select age from 表名 where between 1 and 100; >>注意包含1和100 #in (1,2,3,4) 多选一 select age from 表名 where age in (10,20,30,40); #将age=10和age=20的都能取出来 select age from 表名 where age=10 or age=20;2:#模糊查询 #like like的表现形式是,'%a'查询以a结尾的,'a%'查询以a开始的,'%a%'查询包含a的 select name from 表名 where name like '田%';>>>查询出姓田的所有人 like还有一种形式,'_a','a_','a__'一个划线代表一个字符,%代表的是任意长度 select name from 表名 where name 'like '田_';>>>查询出以田开头的两个字的姓名 #regexp 可以使用正则匹配(记一下正则表达式)3:#is is not is null is not null 一般用来判断是不是空,4:#逻辑运算 and or not
4、group by(分组)
'''group by可以对某个字段的值进行分组,这个字段有多少种值就分多少组,group by还有一个特性就是去重,一旦使用group by对数据分组了,就不能对某一条数据进行操作,永远都是这一组数据'''group_concat()函数(只用来做最终的显示,不做中间数据的操作)可以显示当前这一组的所有信息,拼在一起显示select post,group_concat(name),count(id) from employee group by post having count(id) < 2;'''mysql> set global sql_mode='STRICT_TRANS_TABLES,ONLY_FULL_GROUP_BY';ONLY_FULL_GROUP_BY的语义就是确定select target list中的所有列的值都是明确语义,简单的说来,在ONLY_FULL_GROUP_BY模式下,target list中的值要么是来自于聚集函数的结果,要么是来自于group by list中的表达式的值。(了解就好)'''
5、聚合函数
1:#count 计数2:#max 求最大值3:#avg 求平均值4:#min 求最小值5:#sum 求和
6、having 过滤条件
'''having是针对一个组做的过滤条件,是放在group by 后面执行的,他的意思和where是一样的where group 和 having的执行顺序是,where>group by>having,所以having一般都是和having一起用的'''select post,group_concat(name),count(id) from employee group by post having count(id) < 2;
7、order by 排序
'''对查询出来的数据进行排序,可以升序或者降序(desc),可以使用多个条件一起排序,执行顺序按照从左到右执行排序'''SELECT * FROM employee ORDER BY salary; #默认是升序排列SELECT * FROM employee ORDER BY salary ASC; #升序SELECT * FROM employee ORDER BY salary DESC; #降序
8limit 分页
'''可以和order by一起使用,先排序再分页取几个,还可以指定删选的范围,limit m,n这个意思是从m+1开始取n条数据,不如limit 0,6,就是从1开始取六条数据,然是limit分页时,只适合做小数据的分页,当数据量过大时,效率就会非常慢,limit还有一种语法是:limit n offset m,这个意思也是从m+1开始,取n条,这个语法知道就行,'''#默认初始位置为0,从第一条开始顺序取出三条 SELECT * FROM employee ORDER BY salary DESC LIMIT 3;#从第0开始,即先查询出第一条,然后包含这一条在内往后查5条 SELECT * FROM employee ORDER BY salary DESC LIMIT 0,5; ##从第5开始,即先查询出第6条,然后包含这一条在内往后查5条 SELECT * FROM employee ORDER BY salary DESC LIMIT 5,5;
上述就是小编为大家分享的mysql数据库实现单表查询的方法了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
查询
数据
字段
条件
语句
代表
多个
排序
就是
方法
函数
字符
意思
分组
数据库
姓名
字符串
结果
四则
查询表
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
db2数据库如何查看索引
常见网络技术定做价格
深圳软件开发需要学什么
微信收藏数据库损坏会弹出吗
巴南区工商软件开发服务特点
定制化软件开发的认定
3360安全卫士网络安全防护
北京羿龙网络技术
未转变者管理服务器
政府机关网络安全实施方案
高校网络安全方案.doc
成都inspur服务器经销商
涉密软件开发资质费用
十大网络安全事故
昌平区省电软件开发报价
vf数据库如何建立
模拟硬件信息软件开发
it招聘用什么软件开发
ACC数据库创建登录窗体
北京综合软件开发销售价格
漯河软件开发多少钱
济南房产软件开发
崇明区专业型数据库销售价格大全
海康摄像头添加到服务器上
数据库的文档包括
网络安全的初中英语作文70字
汽车网络安全危害
热处理数据库查询
怎么运营好一个服务器我的世界
服务器系统错误能修复吗