建立一个数据库,1)在学生表中插入一新生信息(‘200213808’,’胡静’,’女’,22,’计算机’) 2)新建一个学生平均成绩表AVG_G,将学生的平均成绩插入到AVG_G表中 3)删除数据库中学号为’200213801’的退学学生有关信息。 4)将计算机系学生2号课成绩全部提高5%。 5)删除没有成绩的学生选课记录
时间: 2023-06-16 11:04:33 浏览: 148
以下是建立该数据库的 SQL 语句:
```sql
-- 创建学生表
CREATE TABLE Student (
s_id VARCHAR(10) PRIMARY KEY,
s_name VARCHAR(20),
s_gender VARCHAR(2),
s_age INT,
s_major VARCHAR(20)
);
-- 创建学生成绩表
CREATE TABLE Score (
s_id VARCHAR(10),
c_id INT,
score FLOAT,
PRIMARY KEY (s_id, c_id),
FOREIGN KEY (s_id) REFERENCES Student(s_id)
);
-- 插入新生信息
INSERT INTO Student (s_id, s_name, s_gender, s_age, s_major)
VALUES ('200213808', '胡静', '女', 22, '计算机');
-- 新建学生平均成绩表
CREATE TABLE AVG_G (
s_id VARCHAR(10) PRIMARY KEY,
avg_score FLOAT,
FOREIGN KEY (s_id) REFERENCES Student(s_id)
);
-- 插入学生平均成绩
INSERT INTO AVG_G (s_id, avg_score)
SELECT s_id, AVG(score) FROM Score GROUP BY s_id;
-- 删除学号为'200213801'的退学学生有关信息
DELETE FROM Student WHERE s_id = '200213801';
DELETE FROM Score WHERE s_id = '200213801';
DELETE FROM AVG_G WHERE s_id = '200213801';
-- 提高计算机系学生2号课程成绩5%
UPDATE Score SET score = score * 1.05
WHERE c_id = 2 AND s_major = '计算机';
-- 删除没有成绩的学生选课记录
DELETE FROM Score WHERE score IS NULL;
```
以上 SQL 语句中,我们创建了两个表格,一个是学生表格 `Student`,一个是学生成绩表格 `Score`。我们还创建了一个学生平均成绩表格 `AVG_G` 来存储学生的平均成绩。然后我们按照题目要求,插入了一条新生信息,将学生的平均成绩插入到 `AVG_G` 表格中,删除了学号为 `200213801` 的退学学生有关信息,将计算机系学生的第二门课程成绩提高了 5%,并删除了没有成绩的学生选课记录。
阅读全文