1.创建一个名为`mydb`的数据库
2.在`mydb`数据库中创建一个名为`users`的表,包含以下字段:`id`(主键,自增长), `name`(字符串, 非空), `age`(整数), `gender`(字符串)
3.向`users`表中插入一条记录,姓名为`Tom`, 年龄为`25`, 性别为`男`
4.查询`users`表中所有记录
5.将`users`表中`Tom`的年龄改为`30`
6.向`users`表中插入一条记录,姓名为`Lucy`, 年龄为`28`, 性别为`女`
7.查询`users`表中所有性别为`女`的记录
8.删除`users`表中姓名为`Tom`的记录
9.在`mydb`数据库中创建一个名为`age_view`的视图,显示`users`表中所有记录的姓名和年龄字段
10.查询`age_view`视图中所有记录
11.在`users`表中添加一个索引,以`age`字段为索引
12.查询`users`表中所有年龄大于等于`30`的记录
13.在`users`表中添加一个`birthday`字段,类型为日期型
14.向`users`表中插入一条记录,姓名为`Alice`, 年龄为`20`, 性别为`女`, 生日为`1999-01-01`
15.查询`users`表中生日在`1990-01-01`和`2000-01-01`之间的记录
16.在`age_view`视图中添加一个`age_group`字段,根据年龄分组,小于`18`为`未成年`, 大于等于`18`小于`30`为`青年`, 大于等于`30`小于`50`为`中年`, 大于等于`50`为`老年`
17.查询`age_view`视图中所有`青年`的记录
18.在`users`表中添加一个`email`字段,类型为字符串
19.向`users`表中插入一条记录,姓名为`Mike`, 年龄为`35`, 性别为`男`, 邮箱为`mike@gmail.com`
20.查询`users`表中所有邮箱以`gmail.com`结尾的记录
21.在`users`表中添加一个`phone`字段,类型为字符串
22.向`users`表中插入一条记录,姓名为`John`, 年龄为`40`, 性别为`男`, 电话为`123-456-7890`
23.查询`users`表中所有记录,按照年龄从小到大排序
24.在`users`表中添加一个`created_at`字段,类型为时间戳
25.向`users`表中插入一条记录,姓名为`Jenny`, 年龄为`22`, 性别为`女`, 创建时间为当前时间
26.查询`users`表中创建时间在`2021-01-01`之后的记录
27.在`users`表中添加一个`updated_at`字段,类型为时间戳
28.将`users`表中`Mike`的电话改为`987-654-3210`, 更新`updated_at`字段为当前时间
29.查询`users`表中姓名为`Lucy`的记录的创建时间和更新时间
30.查询`users`表中所有记录的平均年龄和最大年龄
31.在`users`表中添加一个`address`字段,类型为字符串
32.向`users`表中插入一条记录,姓名为`Sam`, 年龄为`45`, 性别为`男`, 地址为`New York`
33.查询`users`表中地址为`New York`的记录
34.在`users`表中添加一个`salary`字段,类型为浮点数
35.向`users`表中插入一条记录,姓名为`Bob`, 年龄为`28`, 性别为`男`, 薪资为`5000.00`
36.查询`users`表中薪资在`4000.00`和`6000.00`之间的记录
37.在`users`表中添加一个`status`字段,类型为整数
38.向`users`表中插入一条记录,姓名为`Mary`, 年龄为`30`, 性别为`女`, 状态为`1`
39.查询`users`表中状态为`1`的记录数量
40.在`mydb`数据库中创建一个名为`age_index`的索引,以`age`字段为索引
41.在`users`表中添加一个`description`字段,类型为文本型
42.向`users`表中插入一条记录,姓名为`David`, 年龄为`22`, 性别为`男`, 描述为`This is a test`
43.查询`users`表中描述中包含`test`的记录
44.在`users`表中添加一个`last_login`字段,类型为时间戳
45.向`users`表中插入一条记录,姓名为`Linda`, 年龄为`27`, 性别为`女`, 最后登录时间为当前时间
46.查询`users`表中最后登录时间在`2021-01-01`之后的记录数量
47.在`users`表中添加一个`is_vip`字段,类型为布尔型
48.向`users`表中插入一条记录,姓名为`Peter`, 年龄为`35`, 性别为`男`, 是否为VIP为`true`
49.查询`users`表中是否为VIP的记录数量
50.在`users`表中添加一个`country`字段,类型为字符串,长度为`50`
1、查询所有学生信息
2、查询年龄大于23岁的学生学号、姓名和性别
3、查询年龄在19-27岁之间的学生信息
4、查询出张三、王五、赵六的学生信息
5、查询出性别为“男”,且年龄大于25的学生信息
6、查询出姓“王”的学生的所有课程的分数
7、查询出每个学生的平均分且排行
8、查询出“语文”成绩的最高分
9、查询出总分为第四名的学生信息
10、查询出哪个老师所带的课程总分最高
11、查询出总成绩高于张三的每个学生的总分且成绩排行
12、查询出选修课程数量小于5门课的学生信息
13、查询出总成绩最低的学生姓名、学号和年龄
14、查询出哪些学生的平均成绩高于75分
15、查询出成绩第一名的学生信息、和各科分数
16、查询出男生和女生各多少人
17、查询出女生的平均分、总分
18、查询出姓名一样的人的有几个
19、查询出没有成绩的学生有哪些人
20、查询出哪一个老师没有任何课程
1、查询所有学生信息
select * from student;
2、查询年龄大于23岁的学生学号、姓名和性别
select sid,sname,ssex from student;
3、查询年龄在19-27岁之间的学生信息
select * from student where sage between sage 19 and 27;
4、查询出张三、王五、赵六的学生信息
select * from student where sname in ("张三","王五","赵六");
5、查询出性别为“男”,且年龄大于25的学生信息
select * from student where ssex = "男" and sage > 25;
6、查询出姓“王”的学生的所有课程的分数
select sc.cid,sc.score from student
join sc on student.sid = sc.sid where student.sname like "王%"
7、查询出每个学生的平均分且排行
select student.sname,avg(sc.score) from student
join sc on student.sid = sc.sid group by sc.sid order by avg(sc.score) desc
8、查询出“语文”成绩的最高分
select max(sc.score) from sc
join course on sc.cid = course.cid where course.cname = "语文"
9、查询出总分为第四名的学生信息
select student.*,sum(sc.score) from student
join sc on student.sid = sc.sid
GROUP BY student.sid order by sum(sc.score) desc limit 3,1
10、查询出哪个老师所带的课程总分最高
select teacher.tname,sum(sc.score) from sc
join course on sc.cid = course.cid join teacher on course.tid = teacher.tid
GROUP BY sc.cid order by sum(sc.score) desc limit 1
11、查询出总成绩高于张三的每个学生的总分且成绩排行
select student.sname, sum(sc.score) from student
join sc on student.sid = sc.sid group by sc.sid
having sum(sc.score) >
(select sum(sc.score) from student
join sc on student.sid = sc.sid where student.sname = "张三")
12、查询出选修课程数量小于5门课的学生信息
select student.* from student
join sc on student.sid = sc.sid group by sc.sid HAVING count(sc.cid) <5
13、查询出总成绩最低的学生姓名、学号和年龄
select student.sname,student.sid,student.sage,sum(sc.score) from student
join sc on student.sid = sc.sid
group by sc.sid order by sum(sc.score) asc limit 1
14、查询出哪些学生的平均成绩高于75分
select student.sname,avg(sc.score) from student
join sc on student.sid = sc.sid
group by sc.sid having avg(sc.score)>75
15、查询出成绩第一名的学生信息、和各科分数
select student.*,course.cname,sc.score from student
join sc on student.sid = sc.sid join course on sc.cid = course.cid
where student.sid =
(select sc.sid from student
join sc on student.sid = sc.sid join course on sc.cid = course.cid
GROUP BY sc.sid ORDER BY sum(sc.score) desc limit 1)
16、查询出男生和女生各多少人
SELECT ssex,count(ssex) from student group by ssex
17、查询出女生的平均分、总分
select AVG(sc.score),sum(sc.score) from student
join sc on student.sid = sc.sid
where student.ssex = "女"
18、查询出姓名一样的人的有几个
select sname,count(sname) from student group by sname having count(sname) >1;
19、查询出没有成绩的学生有哪些人
select student.sid,student.sname from student
left join sc on student.sid = sc.sid where sc.sid is null
20、查询出哪一个老师没有任何课程
select teacher.tid,teacher.tname from teacher
left join course on teacher.tid = course.tid
where course.tid is null