简简单单 My SQL 学习笔记(2)——分组和简单数据的查询

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 简简单单 My SQL 学习笔记(2)——分组和简单数据的查询

初始数据

创建表(要记得先选择好我们的数据库 use+数据库名)

create table student(
studentno int(4) primary key not null auto_increment comment'学生编号',
loginpwd varchar(20) not null comment'密码',
studentname varchar(20) not null comment'学生姓名',
sex varchar(10) not null comment'性别',
gradeid int(10) not null comment'年级编号',
phone varchar(20) not null comment'电话号码',
address varchar(50)  comment'地址',
borndate datetime not null comment'生日',
Email varchar(50)  comment'邮箱',
indentiyucard varchar(50) not null comment'身份证号'
)

添加数据

insert into student values(1001,'1234','小唐','男',1,'13112312345','长沙市','2002-7-11','xaiotang@qq.com','320303198712031010');
insert into student values(1002,'1234','小喜','男',2,'13112312346','天津市','2021-2-3','xiaoxi@qq.com','320303198712031011');
insert into student values(1003,'1234','小欢','男',3,'13112312347','重庆市',now(),'xaiohuan@qq.com','320303198712031012');
insert into student values(1004,'1234','小黄','女',1,'13112312348','广州市','2002-2-14','xaiohuang@qq.com','320303198712031013');

添加好了之后,我们来看看吧

select *
from
student;


基本结构介绍

刚刚其实我们就已经出现过了【手动狗头】,只要你这个逻辑搞清楚,查询语句对你来说,just so so

由于刚刚我们是要查看所有表的信息,所以我们没有筛选条件,所以我们就没有写上去了


小实验

我们要去查找小唐的所有信息???

思路:

1.输出的话就一个*解决了

2.数据来源于我们的学生表

3.条件是名字等于小唐???(在这里有可能会有两个小唐,一般来说我们都是用主键(唯一确定的编号)也就是学号来查询,在这里为了方便理解就用的学生姓名)

select *
from student
where studentname='小唐';

如果只要小唐的姓名和小唐的住址???

select studentname 姓名,address 地址
from student
where studentname='小唐';

在这里,为了让统计更加的直观,小唐用了别名,也就是我们在select 选择要显示的列的时候 空格来加上一个名字,这样就会显示我们的别名了!


升序和降序排列 order by

就是在我们的最后加上一句order by 列名 +desc(降序)/asc(升序)

我们让我们的学号单独降序输出试试看吧

select studentno
from student
order by studentno desc;

是不是很简单!


模糊搜索 like

有时候我们想要去查找,姓唐的人,但是我们又不知道他的具体信息,这个时候就引出我们的模糊搜索了!!!

  • %

这个是我们模糊搜索的第一种用法,比如说我要查找姓黄的所有人

where studentname like '黄%'

也就是说,无论黄后面是什么字,只要你的第一个字是黄,那么我都会选择你

  • _
    这个是我们模糊搜索的第二种用法,比如说我要查找姓黄的所有人
where studentname like '黄_'

他的意思就相对简单多了,限定了,你加上黄只可以有两个字(是不是有点少,我们再来一个_就是三个字),还有这种写法的

where studentname like '_黄_'

就是说,你的倒数第二个字是黄就可以啦


分组 group by

我们一个需要统计一个列的种数,或者符合这个条件的行的种数,就比我们的年级分为1,2,3…,先在我需要查看有多少个年级,就需要用到我们的group by

select gradeid
from student
group by gradeid;


聚合函数 count(统计),max(),avg(),min(),sum()

MY SQL 为了更好的方便我们查找,很分析,就推出了我们的聚合函数,使用这些命令,我们可以更加方便的分析,举个例子,比如我现在需要统计我们刚刚分组,每一个对应年级的人数,直接在分组的基础上加上一个另外一个count就可以啦

select gradeid,count(gradeid)
 from student
 group by gradeid;

同时这些聚合函数也可也用于where,比如说我要输出我高于平均成绩的成绩,那么在where应该这样写,where 成绩>avg(成绩)

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
28天前
|
缓存 关系型数据库 MySQL
MySQL索引策略与查询性能调优实战
在实际应用中,需要根据具体的业务需求和查询模式,综合运用索引策略和查询性能调优方法,不断地测试和优化,以提高MySQL数据库的查询性能。
|
4天前
|
存储 关系型数据库 MySQL
mysql怎么查询longblob类型数据的大小
通过本文的介绍,希望您能深入理解如何查询MySQL中 `LONG BLOB`类型数据的大小,并结合优化技术提升查询性能,以满足实际业务需求。
21 6
|
15天前
|
SQL 关系型数据库 MySQL
mysql分页读取数据重复问题
在服务端开发中,与MySQL数据库进行数据交互时,常因数据量大、网络延迟等因素需分页读取数据。文章介绍了使用`limit`和`offset`参数实现分页的方法,并针对分页过程中可能出现的数据重复问题进行了详细分析,提出了利用时间戳或确保排序规则绝对性等解决方案。
|
21天前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据
|
8天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
71 15
|
2天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
9天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
13天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
1月前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
36 1
|
1月前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
45 4