-- 如果存在则先删除 drop database if exists jzlg; -- 创建数据库 create database jzlg; -- 使用自己创建的数据库 use jzlg; -- 学生信息表 -- 如果存在则先删除 drop table if exists tb_student; -- 创建新表 create table tb_student( stu_id int primary key auto_increment, stu_name varchar(50) unique, create_date date, gender varchar(2), age int check(age>18 and age<24) )auto_increment=1; insert into tb_student values (1,'小黑','2001-01-01','男',20); insert into tb_student values (2,'小明','2002-01-01','男',19); insert into tb_student values (3,'张珊','2003-01-01','女',18); insert into tb_student values (4,'小王','2004-01-01','男',17); -- 查询 select * from tb_student; -- 学生成绩 -- 如果存在则先删除 drop table if exists tb_score; -- 创建新表 create table tb_score( score_id int primary key auto_increment, stu_id int, c decimal(4,2), s decimal(4,2), html decimal(4,2), constraint fk_stu_id foreign key (stu_id) references tb_student(stu_id) )auto_increment=1; insert into tb_score values (01,1001,80,85,90); insert into tb_score values (02,1002,50,40,60); insert into tb_score values (03,1003,45,60,25); insert into tb_score values (04,1004,75,65,55); -- 查询 select * from tb_score;这串代码哪里错了
时间: 2024-02-27 20:58:27 浏览: 50
MySQL:-数据库和表的创建与管理PPT课件.ppt
这串代码没有明显的语法错误,但是其中的数据插入存在问题。在插入 tb_score 表的数据时,使用的是 stu_id 为 1001-1004,而在之前创建的 tb_student 表中,没有这些数据。应该将 tb_score 表的数据中的 stu_id 修改为 tb_student 表中已经存在的数据的 stu_id。另外,在插入 tb_score 表的数据时,score_id 值应该为整数类型,不应该以 0 开头。正确的插入数据语句应该为:
```
insert into tb_score values (1,1,80,85,90);
insert into tb_score values (2,2,50,40,60);
insert into tb_score values (3,3,45,60,25);
insert into tb_score values (4,4,75,65,55);
```
阅读全文