Mysql数据库题目
创建数据库和表
在MySQL中,创建一个数据库是使用CREATE DATABASE
语句,若要创建一个名为testDB
的数据库,可以使用以下命令:
CREATE DATABASE testDB;
创建表时,需要指定表名、列名及其数据类型,创建学生表(student)的SQL语句可能如下:
CREATE TABLE student( s_id VARCHAR(20) PRIMARY KEY, s_name VARCHAR(20) NOT NULL, s_birth VARCHAR(20) NOT NULL, s_sex VARCHAR(10) NOT NULL );
同理,可以创建课程表(course)、教师表(teacher)和成绩表(score)。
经典练习题解析
以下是一些经典的MySQL练习题目及答案要点:
1、查询”01″课程比”02″课程成绩高的学生的信息及课程分数
使用INNER JOIN
连接学生表、课程表和成绩表,并通过判断两个课程的成绩大小来筛选学生。
2、查询”01″课程比”02″课程成绩低的学生的信息及课程分数
类似上一题,但是条件改为”01″课程成绩低于”02″课程。
3、查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩
使用GROUP BY
按学生分组,并计算平均成绩,然后筛选平均成绩>=60的学生。
4、查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩
与上一题类似,但是筛选条件为平均成绩<60。
5、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩
需要先计算每个学生的选课数量和总成绩,然后列出所有学生信息。
6、查询”李”姓老师的数量
通过教师表统计姓氏为”李”的老师数量。
7、查询学过”张三”老师授课的同学的信息
需要确定”张三”老师的授课情况,然后查找选了这些课程的学生。
8、查询没学过”张三”老师授课的同学的信息
使用LEFT JOIN
或NOT IN
子句找出没有选过”张三”老师课程的学生。
相关FAQs
如何在MySQL中插入数据?
在已创建的表中插入数据,可以使用INSERT INTO
语句,向学生表插入一条记录:
INSERT INTO student(s_id, s_name, s_birth, s_sex) VALUES('01', '张三', '19990101', '男');
如何删除MySQL中的数据库和表?
删除数据库和表分别使用DROP DATABASE
和DROP TABLE
语句。
DROP DATABASE testDB; DROP TABLE IF EXISTS student;
需要注意的是,删除操作会丢失所有数据,因此必须谨慎使用。