mysql, используйте операторы sql для создания базовых таблиц базы данных курса студентов.

Сначала подготовьте три таблицы: таблицу студентов, таблицу курсов и таблицу выбора курсов SC.

Студенческий стол Студенческий билет Имя возраст пол Отделение
Студент Сно Он взлетает Мудрец ссекс отдел
Расписание занятий Номер курса название курса Предварительный урок кредит
Курс Кно Имя КПНО Он считает
Таблица выбора курса Студенческий билет Номер курса счет
СК Сно Кно Оценка

Оператор sql создает таблицу

-- 删除表
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;

Обратите внимание, что при создании таблицы необходимо обращать внимание на имя ее поля, тип, длину, ограничения и диапазоны значений. Символы верхнего и нижнего регистра должны быть правильными. Необходимо различать китайские запятые, точки с запятой и английский язык. Иногда операторы SQL не могу запустить.Может я пропустил какой-то знак препинания или неправильно написал.

Здесь Sno и Cno являются первичными ключами таблицы студентов и таблицы курса соответственно, но они также являются внешними ключами SC. Здесь необходимо записать ограничения внешнего ключа.

Вставить данные

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)

Таблица данных запроса

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

результат

 

 

 Вы также можете запросить несколько таблиц

-- 多表查询,
-- 查询表 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;

Вот, если интересно, попробуйте сами.

Изменить таблицу данных (один пример)


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

последнее напоминание

Если во время заключительной операции возникает ошибка, это может быть связано с ограничениями внешнего ключа, установленными в таблице SC.

 Он может сообщить об этой ошибке, поскольку данные и таблица, которые вы хотите удалить, имеют отношения первичного и внешнего ключа с другими данными или таблицами.

Чтобы сохранить стабильность структуры таблицы, эта операция запрещена, то есть ограничение внешнего ключа не выполняется. Решение состоит в том, чтобы удалить таблицу с ограничением внешнего ключа, а затем повторно выполнить другие таблицы данных или отменить ассоциацию внешнего ключа, а затем выполнить операции добавления, удаления, изменения и запроса, а затем повторно установить ассоциацию внешнего ключа.

рекомендация

отblog.csdn.net/yangkeOK/article/details/132509470
рекомендация