Mysql学习教程

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDSClaw,2核4GB
简介: mysql初学者练习题

1、在本地mysql数据库执行一下语句

CREATE DATABASE wenqixiaojiejie;
USE wenqixiaojiejie;
CREATE TABLE student
(
 id INT(11) NOT NULL AUTO_INCREMENT COMMENT '学生学号', 
 name  VARCHAR(20) NOT NULL COMMENT '学生姓名',
 student_sex  TINYINT(1) NOT NULL DEFAULT 0 COMMENT "性别 1:男 0:女,默认1", 
 student_birthay DATETIME NOT null comment '出生日期',
 class_no INT(11) NOT NULL COMMENT "所属班级",
 PRIMARY KEY (`id`),
 UNIQUE KEY idx_id_class_no(`id`,`class_no`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生表';

CREATE TABLE course
(
 id INT(11) NOT NULL AUTO_INCREMENT COMMENT '课程id' , 
 course_name VARCHAR(20) NOT NULL COMMENT '课程名称', 
 course_teacher_id  INT(11) NOT NULL COMMENT '授课老师id',
 PRIMARY KEY (`id`),
 UNIQUE KEY idx_id_course_teacher_id(`id`,`course_teacher_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='课程表' ; 
 
 CREATE TABLE score 
(
 id INT(11) NOT NULL AUTO_INCREMENT COMMENT '自增id' , 
 student_id INT(11) NOT NULL COMMENT '学生学号', 
 course_id INT(11) NOT NULL COMMENT '课程id', 
 degree INT(3) NOT NULL DEFAULT 0 COMMENT '成绩',
 PRIMARY KEY (`id`),
 UNIQUE KEY idx_student_id_course_id(`student_id`,`course_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='成绩表' ;
 
 CREATE TABLE teacher 
(
 id INT(11) NOT NULL AUTO_INCREMENT COMMENT '教师id' , 
 teacher_name VARCHAR(20) NOT NULL COMMENT '教师姓名', 
 teacher_sex  TINYINT(1) NOT NULL DEFAULT 0 COMMENT "性别 1:男 0:女,默认1",
 teacher_birthay DATETIME NOT null comment '出生日期',
 teacher_prof   VARCHAR(20) NOT NULL COMMENT '职称', 
 teacher_depart    VARCHAR(20) NOT NULL  COMMENT '所属系',
  PRIMARY KEY (`id`)
 )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='教师信息表' ;
 
 INSERT INTO student (id,name,student_sex,student_birthay,class_no) VALUES (1 ,'曾华' ,1 ,'1997-09-01',13);
 INSERT INTO student (id,name,student_sex,student_birthay,class_no) VALUES (2 ,'匡明' ,1 ,'1995-10-02',11);
 INSERT INTO student (id,name,student_sex,student_birthay,class_no) VALUES (3 ,'王丽' ,0 ,'1996-01-23',13);
 INSERT INTO student (id,name,student_sex,student_birthay,class_no) VALUES (4 ,'李军' ,1 ,'1996-02-20',13);
 INSERT INTO student (id,name,student_sex,student_birthay,class_no) VALUES (5 ,'王芳' ,0 ,'1995-02-10',11);
 INSERT INTO student (id,name,student_sex,student_birthay,class_no) VALUES (6 ,'陆君' ,1 ,'1994-06-03',11);
 INSERT INTO student (id,name,student_sex,student_birthay,class_no) VALUES (7 ,'张俊' ,0 ,'1997-09-01',13);
 INSERT INTO student (id,name,student_sex,student_birthay,class_no) VALUES (8 ,'王海' ,1 ,'1995-10-02',11);
 INSERT INTO student (id,name,student_sex,student_birthay,class_no) VALUES (9 ,'李思' ,0 ,'1996-01-23',13);
 INSERT INTO student (id,name,student_sex,student_birthay,class_no) VALUES (10 ,'宋坤' ,1 ,'1996-02-20',13);
 INSERT INTO student (id,name,student_sex,student_birthay,class_no) VALUES (11 ,'郑贺' ,1 ,'1995-02-10',11);
 INSERT INTO student (id,name,student_sex,student_birthay,class_no) VALUES (12 ,'刘峰' ,1 ,'1994-06-03',11);
 
 INSERT INTO teacher(id,teacher_name,teacher_sex,teacher_birthay,teacher_prof,teacher_depart) 
 VALUES (1,'李诚',1,'1968-12-02','副教授','计算机系');
 INSERT INTO teacher(id,teacher_name,teacher_sex,teacher_birthay,teacher_prof,teacher_depart)  
 VALUES (2,'张旭',1,'1969-03-12','讲师','电子工程系');
 INSERT INTO teacher(id,teacher_name,teacher_sex,teacher_birthay,teacher_prof,teacher_depart) 
 VALUES (3,'王萍',0,'1972-05-05','助教','计算机系');
 INSERT INTO teacher(id,teacher_name,teacher_sex,teacher_birthay,teacher_prof,teacher_depart)  
 VALUES (4,'刘冰',0,'1977-08-14','助教','电子工程系');
 
 INSERT INTO course(id,course_name,course_teacher_id) VALUES (1 ,'计算机导论',1);
 INSERT INTO course(id,course_name,course_teacher_id) VALUES (2 ,'操作系统' ,2);
 INSERT INTO course(id,course_name,course_teacher_id) VALUES (3 ,'数据电路' ,3);
 INSERT INTO course(id,course_name,course_teacher_id) VALUES (4 ,'高等数学' ,4);
 
 INSERT INTO score(student_id,course_id,degree) VALUES (1,1,86);
 INSERT INTO score(student_id,course_id,degree) VALUES (2,1,75);
 INSERT INTO score(student_id,course_id,degree) VALUES (3,1,68);
 INSERT INTO score(student_id,course_id,degree) VALUES (4,1,92);
 INSERT INTO score(student_id,course_id,degree) VALUES (5,1,88);
 INSERT INTO score(student_id,course_id,degree) VALUES (6,1,76);
 INSERT INTO score(student_id,course_id,degree) VALUES (7,1,64);
 INSERT INTO score(student_id,course_id,degree) VALUES (8,1,91);
 INSERT INTO score(student_id,course_id,degree) VALUES (12,1,81);
 INSERT INTO score(student_id,course_id,degree) VALUES (2,2,55);
 INSERT INTO score(student_id,course_id,degree) VALUES (3,2,98);
 INSERT INTO score(student_id,course_id,degree) VALUES (4,2,72);
 INSERT INTO score(student_id,course_id,degree) VALUES (5,2,48);
 INSERT INTO score(student_id,course_id,degree) VALUES (6,2,36);
 INSERT INTO score(student_id,course_id,degree) VALUES (7,2,14);
 INSERT INTO score(student_id,course_id,degree) VALUES (8,2,81);
 INSERT INTO score(student_id,course_id,degree) VALUES (9,2,72);
 INSERT INTO score(student_id,course_id,degree) VALUES (10,2,83);
 INSERT INTO score(student_id,course_id,degree) VALUES (11,2,74);
 INSERT INTO score(student_id,course_id,degree) VALUES (12,2,88);
 INSERT INTO score(student_id,course_id,degree) VALUES (2,3,76);
 INSERT INTO score(student_id,course_id,degree) VALUES (3,3,75);
 INSERT INTO score(student_id,course_id,degree) VALUES (4,3,75);
 INSERT INTO score(student_id,course_id,degree) VALUES (5,3,95);
 INSERT INTO score(student_id,course_id,degree) VALUES (6,3,52);
 INSERT INTO score(student_id,course_id,degree) VALUES (7,3,41);
 INSERT INTO score(student_id,course_id,degree) VALUES (8,3,65);
 INSERT INTO score(student_id,course_id,degree) VALUES (9,3,90);
 INSERT INTO score(student_id,course_id,degree) VALUES (10,3,86);
 INSERT INTO score(student_id,course_id,degree) VALUES (11,3,60);
 INSERT INTO score(student_id,course_id,degree) VALUES (12,3,85);
   INSERT INTO score(student_id,course_id,degree) VALUES (1,4,81);
 INSERT INTO score(student_id,course_id,degree) VALUES (2,4,99);
 INSERT INTO score(student_id,course_id,degree) VALUES (3,4,31);
 INSERT INTO score(student_id,course_id,degree) VALUES (4,4,92);
 INSERT INTO score(student_id,course_id,degree) VALUES (6,4,56);
 INSERT INTO score(student_id,course_id,degree) VALUES (7,4,60);
 INSERT INTO score(student_id,course_id,degree) VALUES (9,4,67);
 INSERT INTO score(student_id,course_id,degree) VALUES (10,4,77);
 INSERT INTO score(student_id,course_id,degree) VALUES (11,4,72);
 INSERT INTO score(student_id,course_id,degree) VALUES (12,4,86);

2、练习题

 1、 查询student表中的所有记录的学生姓名、性别和班级号列数据 

 2、 查询有多个教师在同一个系的系名称

 3、 查询student表的所有记录。
 
 4、 查询score表中成绩在60到80之间的所有记录。
 
 5、 查询score表中成绩为85,86或88的记录。
 
 6、 查询student表中11 班或性别为“女”的同学记录。
 
 7、 以class_no降序查询Student表的所有记录。
 
 8、 以course_id升序、degree降序查询score表的所有记录。
 
 9、 查询11班的学生人数。
 
 10、查询score表中的最高分的学生学号和课程号。
 
 11、查询2号课程的平均分。
 
 12、查询score表中最多学生选修的课程的平均分数。
 
 13、查询最低分大于70,最高分小于90的学生数据。
 
 14、查询所有学生的student_id、course_id和degree列。
 
 15、查询所有学生的student_name、course_name和Degree列。
 
 17、查询11班所选每门课程的平均分。
 
 19、查询选修4的课程的成绩高于60号同学成绩的所有同学的记录。
                               
 20、查询score中选学一门以上课程的同学中分数为非最高分成绩的记录。
 
 21、查询成绩高于学号为8、课程号为3的成绩的所有记录。
 
 22、查询和学号为10的同学同年出生的所有学生的student_id、student_name和student_birthday列。
 
 23、查询“张旭“教师任课的学生成绩。
 
 24、查询选修某课程的同学人数多于5人的教师姓名。
 
 25、查询11班和13班全体学生的记录。
 
 26、查询存在有85分以上成绩的课程course_id.
 
 27、查询出“计算机系“教师所教课程的成绩表。
 
 28、查询“计算机系”与“电子工程系“不同职称的教师的teacher_name和teacher_prof。
 
 29、查询选修编号为3课程且成绩至少高于选修编号为3的同学的course_id、student_id和degree,并按degree从高到低次序排序。
 
 30、查询选修编号为3且成绩高于选修编号为3课程的同学的course_id、student_id和Degree.
 
 31、查询所有教师和同学的name、student_sex和student_birthday.
 
 32、查询所有“女”教师和“女”同学的name、student_sex和student_birthday.
 
 33、查询成绩比该课程平均成绩低的同学的成绩表。
 
 34、查询所有任课教师的teacher_name和teacher_depart.
 
 35  查询所有未讲课的教师的teacher_name和teacher_depart.
 
 36、查询至少有2名男生的班号。
 
 37、查询student表中不姓“王”的同学记录。
 
 38、查询student表中每个学生的姓名和年龄。
 
 39、查询student表中最大和最小的student_birthday日期值。
 
 40、以班号和年龄从大到小的顺序查询student表中的全部记录。
 
 41、查询“男”教师及其所上的课程。
 
 42、查询最高分同学的course_id、student_id和degree列。
 
 43、查询和“李军”同性别的所有同学的name.
 
 44、查询和“李军”同性别并同班的同学name.
 
 45、查询所有选修“计算机导论”课程的“男”同学的成绩表

 46、修改所有学生成绩加1分

 47、修改11班所有同学的班级号到13班

 48、修改所有张旭老师教的课程考试学生的成绩+10分

 49、成绩表插入等级字段,60分以下为c,80分以上为A,中间为B

 50、补充所有学生中有课程无成绩的成绩信息,默认为60分。
相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
6月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
735 7
|
7月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
1715 16
|
7月前
|
关系型数据库 MySQL 数据管理
Mysql基础学习day03-作业
本内容包含数据库建表语句及多表查询示例,涵盖内连接、外连接、子查询及聚合统计,适用于员工与部门数据管理场景。
124 1
|
7月前
|
SQL 关系型数据库 MySQL
Mysql基础学习day01
本课程为MySQL基础学习第一天内容,涵盖MySQL概述、安装、SQL简介及其分类(DDL、DML、DQL、DCL)、数据库操作(查询、创建、使用、删除)及表操作(创建、约束、数据类型)。适合初学者入门学习数据库基本概念和操作方法。
254 6
|
7月前
|
SQL 关系型数据库 MySQL
Mysql基础学习day02-作业
本教程介绍了数据库表的创建与管理操作,包括创建员工表、插入测试数据、删除记录、更新数据以及多种查询操作,涵盖了SQL语句的基本使用方法,适合初学者学习数据库操作基础。
154 0
|
7月前
|
SQL 关系型数据库 MySQL
Mysql基础学习day03
本课程为MySQL基础学习第三天内容,主要讲解多表关系与多表查询。内容涵盖物理外键与逻辑外键的区别、一对多、一对一及多对多关系的实现方式,以及内连接、外连接、子查询等多表查询方法,并通过具体案例演示SQL语句的编写与应用。
192 0
|
7月前
|
SQL 关系型数据库 MySQL
Mysql基础学习day01-作业
本教程包含三个数据库表的创建练习:学生表(student)要求具备主键、自增长、非空、默认值及唯一约束;课程表(course)定义主键、非空唯一字段及数值精度限制;员工表(employee)包含自增主键、非空字段、默认值、唯一电话号及日期时间类型字段。每个表的结构设计均附有详细SQL代码示例。
127 0
|
7月前
|
SQL 关系型数据库 MySQL
Mysql基础学习day02
本课程为MySQL基础学习第二天内容,涵盖数据定义语言(DDL)的表查询、修改与删除操作,以及数据操作语言(DML)的增删改查功能。通过具体SQL语句与实例演示,帮助学习者掌握MySQL表结构操作及数据管理技巧。
199 0
|
11月前
|
存储 关系型数据库 MySQL
【免费动手教程上线】阿里云RDS MySQL推出大容量高性能存储:高性能本地盘(最高16TB存储空间)、高性能云盘(最高64TB存储空间)
阿里云RDS MySQL提供高性能本地盘与高性能云盘等存储方案,满足用户大容量、低延迟需求。高性能本地盘单盘最大16TB,IO延时微秒级;高性能云盘兼容ESSD特性,支持IO性能突发、BPE及16K原子写等能力。此外,阿里云还提供免费动手体验教程,帮助用户直观感受云数据库 RDS 存储性能表现。

推荐镜像

更多