Mysql學習教程

銘銘erom發表於2018-11-12

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、查詢所有選修“計算機導論”課程的“男”同學的成績表


相關文章