mysql, use instruções sql para criar tabelas básicas do banco de dados do curso do aluno

Primeiro, prepare três tabelas: tabela de alunos, tabela de cursos e tabela de seleção de cursos SC.

Mesa de estudante Identidade estudantil Nome idade gênero Departamento
Estudante Sno Ele decola Sábio sexo Departamento
Horário de aula Número do curso nome do curso Lição preliminar crédito
Curso Cnão Cnome Cpno Ele acredita
Tabela de seleção de cursos Identidade estudantil Número do curso pontuação
SC Sno Cnão Nota

instrução sql cria tabela

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

Observe que ao criar uma tabela, você deve prestar atenção ao nome do campo, tipo, comprimento, restrições e intervalos de valores. Os símbolos maiúsculos e minúsculos devem estar corretos. Vírgulas chinesas, ponto e vírgula e inglês devem ser diferenciados. Às vezes, instruções SQL não consigo executar. Talvez eu tenha perdido um determinado sinal de pontuação ou escrito errado.

Aqui Sno e Cno são as chaves primárias da tabela student e da tabela course respectivamente, mas também são as chaves estrangeiras de SC. As restrições de chave estrangeira precisam ser escritas aqui.

Inserir dados

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)

Tabela de dados de consulta

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

resultado

 

 

 Você também pode consultar várias tabelas

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

Aqui, se você estiver interessado, experimente você mesmo.

Modificar tabela de dados (exemplo único)


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

último aviso

Se ocorrer um erro durante a operação final, pode ser devido às restrições de chave estrangeira definidas na tabela SC.

 Ele pode relatar esse erro porque os dados e a tabela que você deseja excluir possuem relacionamentos de chave primária e estrangeira com outros dados ou tabelas. O MYSQL estipula

Para manter a estabilidade da estrutura da tabela, esta operação é proibida, ou seja, a restrição de chave estrangeira falha.A solução é deletar a tabela com a restrição de chave estrangeira e, em seguida, reexecutar outras tabelas de dados, ou cancelar o associação de chave estrangeira e, em seguida, execute operações de adição, exclusão, modificação e consulta e, em seguida, restabeleça a associação de chave estrangeira.

Acho que você gosta

Origin blog.csdn.net/yangkeOK/article/details/132509470
Recomendado
Clasificación