数据库基础语句之查询(MySQL)

查询

在查询部分我们会展示一些基础的查询操作,以及不常用但是在实战中很有用处的查询功能,如模糊查询等。

将使用的数据库示例初始数据如下:初始数据

基础查询

基础查询的 代码展示.

// 查询表中的全部数据
select * from [表名]// 查询某列中的全部数据
select [列名] from [表名]
// 给某列的表头起别名
select [列名 as 名称] from [表名]-- 给表头起别名
SELECT name AS 姓名,eng AS 英语成绩 FROM stu;

在这里插入图片描述
给数据库表中的每一列都用别名展示,运行代码与结果如上所示:

// 去除重复数据,比如我们想要查询同学们大概都来自哪里
select DISTINCT [列名] from [表名]SELECT DISTINCT addr FROM stu ;

在这里插入图片描述

//条件查询

//假设查询学生中年龄大于20小于30的人
select * from stu where age > 20 && age < 30;//&&可以用and替代
select * from stu where age between 20 and 30;//如果查询具体到了某几个时间,方法如下
select * from stu where age in (18,20,25);

//注意!= 和 = 符号不可用于null,如果查找null则用is或者is not
select * from stu where id is null;

模糊查询

模糊查询用like ,“_”表示单个任意字符,“%表示多个任意字符”

//查询第一个字是张的(张前面没有符号代表查询的第一个字就是张,后面%代表张后面的字数不做要求)
SELECT * FROM stu WHERE name LIKE '张%';

//查询第二个字是诗的(前面_代表前面有一个字,后面%代表不限制)
SELECT * FROM stu WHERE name LIKE '_诗%';

//查询名字包含芸的(前后的%表示对前后的字数均不做要求)
SELECT * FROM stu WHERE name LIKE '%芸%';

三条语句的查询结果分别如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

排序查询

select * from stu order by eng asc;//升序查询
select * from stu order by eng desc;//降序查询
//asc是默认值,如果不写则系统默认为asc

asc排序实例如下:
在这里插入图片描述

注意:如果有多个排序条件的话,当前面的条件值一样时才会根据第二条进行排序

分组查询

分组查询中常常会用到聚合函数,于是将分组查询分为两部分,在此讲解基本的聚合函数

聚合函数
函数意义
count统计数量
mid/max最小/最大值
sum求和
avg求平均值

语法展示.

select 聚合函数[列名] from [表名]

注意:null不参与聚合

分组查询
select [列名,聚合] from [表名] [where --] group by [列名] [having --];

//查询男女的数学平均分
select sex,ave(math) from stu group by sex;

在这里插入图片描述

顺序:where > 聚合函数 > having

分页查询

分页查询用limit,但是limit只适用于MySQL

//从第0条数据开始查,查三条
select * from stu limit 0,3;//0为起始索引位置,3为显示条数

在这里插入图片描述

//从第5条数据开始查,查2条
select * from stu limit 5,2;

在这里插入图片描述
可以看出数据下标从0开始。索引公式如下:
起始索引=(当前页码-1)*每页显示条数
在这里插入图片描述
在这里插入图片描述

则起始索引为(4-1)*20=60,实际索引到的第一条数据为61。


以上是查询部分的内容,如果有错误或者疑问可以评论或联系~
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是大圆子啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值