mysql, utilisez les instructions SQL pour créer des tables de base de la base de données des cours étudiants

Tout d’abord, préparez trois tableaux : le tableau des étudiants, le tableau des cours et le tableau de sélection des cours SC.

Table des étudiants Carte d'étudiant Nom âge genre Département
Étudiant Sno Ça décolle Sage sexe Département
Horaire de cours Numéro du cours nom du cours Leçon préliminaire crédit
Cours Cno NomC Cpno Il croit
Tableau de sélection des cours Carte d'étudiant Numéro du cours score
CS Sno Cno Grade

l'instruction SQL crée une table

-- 删除表
DROP TABLE IF EXISTS Student;
-- 创建表
CREATE TABLE Student(
Sno CHAR(9) PRIMARY KEY,-- 学号 主键
Sname VARCHAR(20) NOT NULL,-- 姓名 非空且唯一
Sage INT NOT NULL,-- 年龄
Ssex VARCHAR(5) NOT NULL,-- 性别
Sdept VARCHAR(10) NOT NULL -- 所在系
)charset=utf8;
-- 删除表
DROP TABLE IF EXISTS Course;
-- 创建表
CREATE TABLE Course(
Cno CHAR(5) PRIMARY KEY,-- 课程号 主键
Cname VARCHAR(20) NOT NULL ,-- 课程名 非空
Cpno VARCHAR(20)  NOT NULL,-- 先行课
Ccredit Double(5,2) NOT NULL-- 学分
)charset=utf8;
-- 删除表
DROP TABLE IF EXISTS SC;
-- 创建表
CREATE TABLE SC(
Sno CHAR(9),-- 学号 主键
Cno CHAR(5),-- 课程号 主键
Grade INT NOT NULL, -- 成绩
foreign key(Sno) references Student(Sno),
foreign key(Cno) references Course(Cno)
)charset=utf8;

Notez que lors de la création d'une table, vous devez faire attention à son nom de champ, son type, sa longueur, ses contraintes et ses plages de valeurs. Les symboles majuscules et minuscules doivent être corrects. Les virgules chinoises, les points-virgules et l'anglais doivent être distingués. Les instructions SQL peuvent parfois Je ne peux pas courir. Peut-être que j'ai raté un certain signe de ponctuation ou que je l'ai mal écrit.

Ici, Sno et Cno sont respectivement les clés primaires de la table des étudiants et de la table des cours, mais ce sont aussi les clés étrangères de SC. Les contraintes de clé étrangère doivent être écrites ici.

Insérer des données

INSERT INTO Student
(Sno,Sname,Sage,Ssex,Sdept) VALUES
('20211127','殷郊',22,'男','数学系'),
('20211128','姬发',20,'男','农业系'),
('20211129','苏妲己',18,'女','外语系'),
('20211130','崇应彪',23,'男','体育系')


INSERT INTO Course
(Cno,Cname,Cpno,Ccredit) VALUES
('1001','数据库原理及应用','数据结构',2),
('2002','LINUX操作系统与程序设计','操作系统',4),
('3003','离散数学','高等数学',2),
('4004','Java程序设计语言','c语言和c++语言',2),
('5005','网络安全','计算机网络',4)
INSERT INTO SC
(Sno,cno,Grade) VALUES
('20211127','1001',98),
('20211127','2002',96),
('20211127','3003',95),
('20211127','4004',90),
('20211127','5005',93),
('20211128','1001',98),
('20211128','2002',96),
('20211128','3003',95),
('20211128','4004',90),
('20211128','5005',93),
('20211129','1001',98),
('20211129','2002',96),
('20211129','3003',95),
('20211129','4004',90),
('20211129','5005',93),
('20211130','1001',98),
('20211130','2002',96),
('20211130','3003',95),
('20211130','4004',90),
('20211130','5005',93)

Table de données de requête

-- 查询表所有
select * from Student;
select * from Course;
select * from SC;

résultat

 

 

 Vous pouvez également interroger plusieurs tables

-- 多表查询,
-- 查询表 Student和SC
SELECT SC.Sno AS 学生学号 ,Student.Sname AS 学生姓名,Student.Ssex AS 学生性别 Student.Sdept AS 学生院系,SC.Cno AS 选择课程号,SC.Grade AS 课程成绩
FROM SC,Student
WHERE SC.Sno=Student.Sno;
-- 查询表 course 和 SC
SELECT SC.Sno AS 学生学号 ,SC.Cno AS 选择课程号,Course.Cname AS 学生课程名, Course.cpno AS 学生先行课, Course.Ccredit AS 课程学分, SC.Grade AS 课程成绩
FROM SC,Course
WHERE SC.Cno=Course.Cno;
-- 查询表 course 和 SC 和 Student
SELECT SC.Sno AS 学生学号 ,Student.Sname AS 学生姓名,Student.Ssex AS 学生性别, Student.Sdept AS 学生院系,
SC.Cno AS 选择课程号,Course.Cname AS 学生课程名, Course.cpno AS 学生先行课, Course.Ccredit AS 课程学分,SC.Grade AS 课程成绩
FROM SC,Student,Course
WHERE SC.Sno=Student.Sno AND SC.Cno=Course.Cno AND SC.Sno= 20211127;

Ici, si vous êtes intéressé, essayez-le vous-même.

Modifier la table de données (exemple unique)


-- 修改语句 单个示例
update Student set Sname='姜子牙' where Sno='20211127';
-- 删除语句,单个示例
-- 这里删除不了是因为外键约束的问题
delete from Student where Sno='20211127';

dernier rappel

Si une erreur survient lors de l'opération finale, cela peut être dû aux contraintes de clé étrangère définies dans la table SC.

 Il peut signaler cette erreur car les données et la table que vous souhaitez supprimer ont des relations de clé primaire et étrangère avec d'autres données ou tables. MYSQL stipule

Afin de maintenir la stabilité de la structure de la table, cette opération est interdite, c'est-à-dire que la contrainte de clé étrangère échoue. La solution consiste à supprimer la table avec la contrainte de clé étrangère, puis à réexécuter d'autres tables de données, ou à annuler la association de clé étrangère, puis effectuez des opérations d'ajout, de suppression, de modification et de requête, puis rétablissez l'association de clé étrangère.

Je suppose que tu aimes

Origine blog.csdn.net/yangkeOK/article/details/132509470
conseillé
Classement