MySQL练习题(一)

环境准备

-- 创建学生信息表
CREATE TABLE 学生信息表 (
    学号 INT PRIMARY KEY,
    姓名 VARCHAR(50),
    年龄 INT,
    性别 VARCHAR(10),
    联系电话 VARCHAR(20),
    学历 VARCHAR(50)
);

-- 向学生信息表添加信息
INSERT INTO 学生信息表 (学号, 姓名, 年龄, 性别, 联系电话, 学历) VALUES
(1, 'A', 22, '男', '123456', '小学'),
(2, 'B', 21, '男', '119', '中学'),
(3, 'C', 23, '男', '110', '高中'),
(4, 'D', 18, '女', '114', '大学');

image-20240801184102132

1、修改学生信息表的数据,将电话号码以11开头的学员的学历改为“大专”

-- 我们先查询所有的电话号码以11开头的学员
select *
from 学生信息表
where 联系电话 like '11%';

image-20240801184450383

update 学生信息表
set 学历='大专'
where 联系电话 like '11%';
-- 我们先查询所有的电话号码以11开头的学员
select *
from 学生信息表
where 联系电话 like '11%';

image-20240801185044748

2、删除学生信息表的数据,姓名以C开头并且性别为‘男’的记录删除

-- 我们首先姓名以C开头并且性别为‘男'的记录
select *
from 学生信息表
where 姓名 like 'C%'
  and 性别 = '男';

image-20240801185622490

delete
from 学生信息表
where 姓名 like 'C%'
  and 性别 = '男';
select *
from 学生信息表
where 姓名 like 'C%'
  and 性别 = '男';

image-20240801185850734

3、查询学生信息表的数据,将所有年龄小于22岁、学历为“大专”的学生的姓名和学号显示出来

-- 3、查询学生信息表的数据,将所有年龄小于22岁、学历为“大专”的学生的姓名和学号显示出来
select student.姓名, student.学号
from 学生信息表 as student
where student.年龄 < 22
  and student.学历 = '大专';

image-20240801190218796

4、查询学生信息表的数据,查询所有信息,列出第一页的记录(分页单位为2)

select *
from 学生信息表 as student
limit 1,2;

image-20240801190737215

5、查询出所有学生的姓名,性别,年龄降序排列

select student.姓名, student.性别, student.年龄
from 学生信息表 as student
order by 年龄 desc;

image-20240801191049289

6、按照性别分组查询所有的平均年龄

SELECT 性别, AVG(年龄) AS 平均年龄
FROM 学生信息表
GROUP BY 性别;

image-20240801191633724

代码汇总

-- 创建学生信息表
CREATE TABLE 学生信息表
(
    学号     INT PRIMARY KEY,
    姓名     VARCHAR(50),
    年龄     INT,
    性别     VARCHAR(10),
    联系电话 VARCHAR(20),
    学历     VARCHAR(50)
);

-- 向学生信息表添加信息
INSERT INTO 学生信息表 (学号, 姓名, 年龄, 性别, 联系电话, 学历)
VALUES (1, 'A', 22, '男', '123456', '小学'),
       (2, 'B', 21, '男', '119', '中学'),
       (3, 'C', 23, '男', '110', '高中'),
       (4, 'D', 18, '女', '114', '大学');


select *
from 学生信息表;
-- 1、修改学生信息表的数据,将电话号码以11开头的学员的学历改为“大专”
-- 我们先查询所有的电话号码以11开头的学员
select *
from 学生信息表
where 联系电话 like '11%';


update 学生信息表
set 学历='大专'
where 联系电话 like '11%';

-- 2、删除学生信息表的数据,姓名以C开头并且性别为‘男'的记录删除
-- 我们首先姓名以C开头并且性别为‘男'的记录
select *
from 学生信息表
where 姓名 like 'C%'
  and 性别 = '男';

delete
from 学生信息表
where 姓名 like 'C%'
  and 性别 = '男';

select *
from 学生信息表
where 姓名 like 'C%'
  and 性别 = '男';

-- 3、查询学生信息表的数据,将所有年龄小于22岁、学历为“大专”的学生的姓名和学号显示出来
select student.姓名, student.学号
from 学生信息表 as student
where student.年龄 < 22
  and student.学历 = '大专';

-- 4、查询学生信息表的数据,查询所有信息,列出第一页的记录(分页单位为2)
select *
from 学生信息表 as student
limit 1,2;

-- 5、查询出所有学生的姓名,性别,年龄降序排列
select student.姓名, student.性别, student.年龄
from 学生信息表 as student
order by 年龄 desc;

-- 6、按照性别分组查询所有的平均年龄
SELECT 性别, AVG(年龄) AS 平均年龄
FROM 学生信息表
GROUP BY 性别;
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值