Mysql学习教程

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 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分。
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
12天前
|
关系型数据库 MySQL 网络安全
|
存储 关系型数据库 MySQL
|
1月前
|
SQL 关系型数据库 MySQL
rds教程
rds教程
27 4
|
1月前
|
SQL 存储 关系型数据库
【MySQL 数据库】11、学习 MySQL 中的【锁】
【MySQL 数据库】11、学习 MySQL 中的【锁】
76 0
|
存储 关系型数据库 MySQL
|
27天前
|
SQL 关系型数据库 MySQL
阿里云MySQL数据库价格、购买、创建账号密码和连接数据库教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,选择配置和地区,完成支付。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码访问。同地域VPC内的ECS需将IP加入白名单以实现内网连接。参考链接提供详细步骤。
367 3
|
10天前
|
SQL 存储 关系型数据库
6本值得推荐的MySQL学习书籍
本文是关于MySQL学习书籍的推荐,作者在DotNetGuide技术社区和微信公众号收到读者请求后,精选了6本值得阅读的MySQL书籍,包括《SQL学习指南(第3版)》、《MySQL是怎样使用的:快速入门MySQL》、《MySQL是怎样运行的:从根儿上理解MySQL》、《深入浅出MySQL:数据库开发、优化与管理维护(第3版)》以及《高性能MySQL(第4版)》和《MySQL技术内幕InnoDB存储引擎(第2版)》。此外,还有12本免费书籍的赠送活动,涵盖《SQL学习指南》、《MySQL是怎样使用的》等,赠书活动有效期至2024年4月9日。
|
15天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
存储 SQL 关系型数据库
|
27天前
|
弹性计算 关系型数据库 MySQL
阿里云MySQL云数据库优惠价格、购买和使用教程分享!
阿里云数据库使用流程包括购买和管理。首先,选购支持MySQL、SQL Server、PostgreSQL等的RDS实例,如选择2核2GB的MySQL,设定地域和可用区。购买后,等待实例创建。接着,创建数据库和账号,设置DB名称、字符集及账号权限。最后,通过DMS登录数据库,填写账号和密码。若ECS在同一地域和VPC内,可内网连接,记得将ECS IP加入白名单。
428 2