MySQL数据库----数据表查询

这篇博客详细介绍了MySQL数据库的查询操作,包括数据的备份还原、简单查询、聚合函数的使用以及条件查询的各种方法,如count(), max(), min(), avg(), sum()等,并涵盖了where、in、between、like、and、or、order by、limit、group by和distinct等关键字的应用。" 106895107,8492300,Redis缓存数据库详解及常用命令,"['Redis', '数据库', '缓存', 'NoSQL']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、MySQL数据库简单查询

1、数据的备份还原

导出:先对数据库进行备份,然后提取备份文件中的sql语句

导入:

方法1:创建和原始数据库同名的数据,然后执行从备份文件中导出的sql语句【此方法不需要修改

导出sql语句】

方法2:在数据库中直接运行导出的sql语句【此方法往往需要先修改数据库文件】

2、简单查询概述

简单查询即不含where的select语句。

在进行查询之前,我们先准备一个测试数据,代码如下:

- 创建数据库
drop database if exist stu;
create database stu;
USE stu;

-- 创建student表
create table student (
    id int,primary key,
    name varchar(50),
    age int,
    gender varchar(50) default('m','f'),
    classid int
);

-- 向student表插入数据
insert into student values('1001', 'wang', 15, 'f',2);
insert into student values('1002', 'who', 18, 'f',3);
insert into student values('1003', 'liucun', 20, 'f',1);
insert into student values('1004', 'hanxuw', 17, 'f',4);
insert into student values('1008', 'yuke', 22, 'f',4);
insert into student values('1007', 'mohen', 14, 'f',2);

1、查询所有字段

select  *  from  表名;

2、查询指定字段

select  字段名...  from  表名;
 
例如:查询指定数据表中字段id和name的数据信息
select id,name from student;

3、常数的查询

  在select中除了书写列名,还可以书写常数。可以用于标记

常数的查询日期标记 MySQL命令:

select id,name,'2022-03-31' from student;

4、算术运算符

  在select查询语句中还可以使用加减乘除运算符。

查询学生20年后的年龄MySQL命令:

select name,age+20 from student;

5、过滤常数的查询

  在select中除了书写列名,还可以书写常数。可以用于标记

常数的查询日期标记 MySQL命令:

select id,name,'2022-03-31' from student;

二、聚合函数

在开发中,我们常常有类似的需求:统计某个字段的最大值、最小值、 平均值等等。为

此,MySQL中提供了聚合函数来实现这些功能。所谓聚合,就是将多行汇总成一行。聚合函数具

有自动滤空的功能,若某一个值为NULL,那么会自动将其过滤使其不参与运算。

聚合函数使用规则:

只有select子句和having子句、order by子句中能够使用聚合函数。

1、常用的函数

字段含义
count()统计表中数据的行数或者统计指定列其值不为NULL的数据个数
sum()计算指定列的数值和
max()计算指定列的最大值
min()计算指定列的最小值
avg()计算指定列的平均值

1.1、count() 

统计数据表中的学生数量

select count(*) from student;

1.2、max()

查询该学生表中学生年龄最大的学生

select max(age) from student;

1.3、min()

查询该学生表中学生年龄最大的学生

select min(age) from student;

1.3、avg()

计算该学生表中学生的平均年龄

select avg(age) from students;

1.3、sum()

计算该学生表中学生年龄之和

select sum(age) from students;

 

三、条件查询

数据库中存有大量数据,我们可根据需求获取指定的数据。此时,我们可在查询语句中通过

where子句指定查询条件对查询结果进行过滤。

1、查询条件的写法

条件含义
>大于
<小于
=等于
<=小于等于
>=大于等于
!=不等于
is not null不是空
like模糊查询
in判断某个字段是否在给定的集合中
between...and...判断范围
and多个条件同时满足
or多个条件满足任意一个即可
order by 根据指定的字段进行排序    asc 升序(默认情况下) desc 降序
limit指定输出几条记录
group by分组查询
distinct去除重复的数据

1.1、查询年龄等于或大于17的学生的信息:

select * from student where age>=17;

1.2、使用in关键字查询

select * from student where id in ('1002','1003');

1.3、使用between and关键字查询

select * from student where age between 15 and 18;

1.4、使用空值查询

select * from student where name is not null;

1.5、使用like关键字查询

select * from student where sname like 'w%';

1.6、使用and关键字查询

select * from student where age>15 and gender='m';

1.7、使用or关键字查询

select * from student where age>15 or gender='m';

1.8、使用order by排序查询

select * from student where age>15 order by desc;

1.9、使用limit限制查询

select * from student where age>15 order by desc limit 1;

1.10、使用group by关键字查询

#1 按照性别进行分组,分别统计m 和 f有多少个学员
select count(gender),gender from student group by gender;
#5 统计各个班级中,分别有多少个学员,要求只显示班级人数大于3的班级
select classid,count(classid) from student group by classid having count(classid)>3;

1.11、使用distinct关键字查询

# 将年龄小于50的用户,按照年龄排序,并且去除重复的年龄
select distinct age from student where age<50 order by age;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值