Page d'accueil personnelle
: Colonnes de la série de la page d'accueil personnelle : Base de données MySQLHaha, c'est le devoir assigné par notre professeur, je me demande s'il faut l'utiliser ou pas pour poster un blog ?
Enfin, j'y ai pensé et postons-le. Bien que ce soit très simple, cela peut être pratiqué pour ces amis qui apprennent juste les bases de données. Parce qu'il n'y a pas de réponse, je ne sais pas si c'est vrai ou non. Si quelqu'un trouve une erreur, merci de le signaler.
sujet:
- Vérifiez le numéro d'étudiant, la classe et le nom de chaque étudiant
- Retrouvez toutes les informations sur le stage
- Rechercher quelles classes professionnelles sont dans la base de données
- Demander des informations sur les cours avec plus de 60 heures de crédit
- Interroger le numéro d'étudiant, le nom et la date de naissance des étudiants nés en 1986
- Interroger le nombre d'étudiants et de cours dont les scores sont supérieurs à 80 pour trois devoirs
- Interrogez le numéro d'étudiant, le nom et la classe principale de l'étudiant surnommé Zhang
- Interroger les informations des garçons en 05e année
Interroger les identifiants d'étudiants et les identifiants de cours sans notes de devoirs
- Interroger la note totale du devoir 1 de l'élève dont le matricule est 0538
- Interroger le nombre d'étudiants qui ont suivi le cours K001
- Demander combien de classes sont dans la base de données
- Interroger le numéro d'étudiant et la note moyenne du devoir 1, la note moyenne du devoir 2 et la note moyenne du devoir 3 pour les élèves qui suivent trois cours ou plus (dont 3 cours)
Peu importe si les amis sont basés sur 0, regardez le blog suivant, puis répondez aux questions.
1. Créer une base de données
create database if not exists db2 ;
Ok, la création est réussie, alors on ouvre la console
2. Créez le tableau
1. Créez une table d'étudiants
analyser:
ID étudiant : type de caractères
nom : personnage
gender : type de caractère gender est un mot donc varchar(1)
Classe professionnelle : type de caractère
Date de naissance : type d'heure date
Numéro de téléphone du contact : numéro de téléphone en caractères à 11 chiffres varchar(11).
drop table if exists student;
create table student
(
id varchar(10) comment '学号',
name varchar(10) NOT NULL comment '姓名',
gender char(1) comment '性别',
class varchar(20) comment '专业班级',
date date comment '出生日期',
iphone varchar(11) comment '联系电话'
)
comment '学生表';
select * from student;
2. Créez un horaire de cours
drop table if exists student_course;
create table student_course
(
course_id varchar(10) comment '课程号',
course_name varchar(15) comment '课程名',
course_number double unsigned comment '学分数',
student_time int unsigned comment '学时数',
teacher varchar(10) comment '任课教师'
)
comment '课程表';
select *
from student_course;
3. Feuille de travail de l'élève
drop table if exists student_homework;
create table student_homework
(
course_id varchar(10) comment '课程号',
id varchar(10) comment '学号',
homework_1 int comment '作业1成绩',
homework_2 int comment '作业2成绩',
homework_3 int comment '作业3成绩'
)
comment '学生作业表';
select *
from student_homework;
3. Ajouter des données
Tapez-les un par un selon les données sur l'image, woo woo woo
1. Table des étudiants
insert into student
values ('0433', '张艳', '女', '生物04', '1986-9-13', null),
('0496', '李越', '男', '电子04', '1984-2-23', '1381290xxxx'),
('0529', '赵欣', '男', '会计05', '1984-1-27', '1350222xxxx'),
('0531', '张志国', '男', '生物05', '1986-9-10', '1331256xxxx'),
('0538', '于兰兰', '女', '生物05', '1984-2-20', '1331200xxxx'),
('0591', '王丽丽', '女', '电子05', '1984-3-20', '1332080xxxx'),
('0592', '王海强', '男', '电子05', '1986-11-1', null);
Vérifiez-le:
select * from student;
2. Horaire des cours
INSERT INTO student_course
values ('K001', '计算机图形学', 2.5, 40, '胡晶晶'),
('K002', '计算机应用基础', 3, 48, '任泉'),
('K006', '数据结构', 4, 64, '马跃先'),
('M001', '政治经济学', 4, 64, '孔繁新'),
('S001', '高等数学', 3, 48, '赵晓尘');
Vérifiez-le:
select *
from student_course;
3. Feuille de travail de l'élève
insert into student_homework values
('K001','0433',60,75,75),
('K001','0529',70,70,60),
('K001','0531',70,80,80),
('K001','0591',80,90,90),
('K002','0496',80,80,90),
('K002','0529',70,70,85),
('K002','0531',80,80,80),
('K002','0538',65,75,85),
('K002','0592',75,85,85),
('K006','0531',80,80,90),
('K006','0591',80,80,80),
('M001','0496',70,70,80),
('M001','0591',65,75,75),
('S001','0531',80,80,80),
('S001','0538',60,null,80);
Vérifiez-le:
select *
from student_homework;
4. Commencez à poser des questions
1. Vérifiez le numéro d'étudiant, la classe et le nom de chaque étudiant
select id,class,name from student;
2. Vérifiez toutes les informations du cours
select *
from student_course;
3. Requête quelles classes professionnelles sont dans la base de données
select class from student;
4. Renseignez-vous sur les cours avec plus de 60 heures de crédit
select course_id,course_name from student_course where student_time>60;
5. Interroger le numéro d'étudiant, le nom et la date de naissance des étudiants nés en 1986
select id,name,date from student where date>=('1986-1-1') AND date<('1987-1-1');
6. Renseignez-vous sur le numéro d'étudiant et le numéro de cours des trois scores de devoirs supérieurs à 80 points
Au début, j'ai utilisé à nouveau cette requête:
select * from student_homework where homework_1>80 and homework_2>80 and homework_3>80;
J'ai trouvé qu'il n'y avait rien, alors j'ai regardé les données et j'ai trouvé qu'il n'y avait pas de telles données pour trois scores de devoirs supérieurs à 80.
Par conséquent, la question : "Enquête sur le numéro d'étudiant et le numéro de cours avec un score de 80 ou plus dans trois devoirs" doit inclure 80 points
Alors, je le modifie :
select * from student_homework where homework_1>=80 and homework_2>=80 and homework_3>=80;
7. Interrogez le numéro d'étudiant, le nom et la classe principale de l'étudiant surnommé Zhang
Exemple d'erreur :
Comme je n'ai pas écrit SQL depuis des centaines d'années, j'ai en fait écrit (me gifler):
select id,name,class from student where name = '张%';
select id,name,class from student where name like '张%';
8. Interroger les informations des garçons en 05e année
select * from student where class like '%05' and gender='男';
9. Interrogez le numéro d'étudiant et le numéro de cours sans notes de devoirs
select id,course_id from student_homework where homework_1 is null or homework_2 is null or homework_3 is null ;
10. Interroger le score total du devoir 1 de l'élève dont le matricule est 0538
select sum(homework_1) '总分' from student_homework where id='0538';
11. Interrogez le nombre d'étudiants qui ont suivi le cours K001 en option
select count(*) from student_homework where course_id='K001';
12. Requête combien de classes sont dans la base de données
select count(*) from student where class is not null ;
13. Interrogez le nombre d'étudiants et le score moyen du devoir 1, le score moyen du devoir 2 et le score moyen du devoir 3 qui ont suivi trois cours ou plus (dont 3 cours)
select student.id, avg(homework_1), avg(homework_2), avg(homework_3)
from student
left join student_homework on student.id = student_homework.id
group by student.id
having count(course_id) >= 3;