create database Stu_1;
use Stu_1;
create table Student
(
Sno int(20),
Sname char(10),
Ssex char(5),
Sage int(5),
Sdept char(10),
primary key(Sno)
);
create table Course
(
Cno int(20),
Cname char(10),
Cpno int(10),
Ccredit char(10),
primary key(Cno)
);
create table SC
(
Sno int(20),
Cno int(20),
Grade int(10),
foreign key(Sno) references Student(Sno),
foreign key(Cno) references Course(Cno)
use Stu_1;
create table Student
(
Sno int(20),
Sname char(10),
Ssex char(5),
Sage int(5),
Sdept char(10),
primary key(Sno)
);
create table Course
(
Cno int(20),
Cname char(10),
Cpno int(10),
Ccredit char(10),
primary key(Cno)
);
create table SC
(
Sno int(20),
Cno int(20),
Grade int(10),
foreign key(Sno) references Student(Sno),
foreign key(Cno) references Course(Cno)
);
以上是建的三个表:学生,课程,分数
插入多行数据:insert into student(Sno,Sname,Ssex,Sage,Sdept)values ( ),( ),.......;
删除数据:delete from student where Sno=34 or Sno=8; #删除学号为34和38的学生成绩
更新数据:update sc set Grade=60 where Sno=1; #将学号为1的学生的成绩更新为60
报错总结:
1.sc的外键为其他两个表的主键,所以不能先给sc插入数据
1062. Duplicate entry '1' for key 'PRIMARY' 0.016 sec
2.主键为1的值已经存在。用workbench报错,但是它会重复执行已经存在的且没有语病的sql语句,所以改错时注意注释一下。