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、查询所有选修“计算机导论”课程的“男”同学的成绩表

你可能感兴趣的:(Mysql学习教程)