数据库1求学生人数。 2.检索学号为“20170809”的学生姓名。 3.求选修了'002' 课程的学生学号。 4. 检索姓名为“李研”的学生的成绩。 5.将表student中名为“snane”的列长度改为20。 7.查询姓名中含有字符为“海”的学生信息。 8. 统计每门课的平均成绩。 9.创建视图age_ view, 该视图能查询年龄在18至20之间的学生信息。 10.创建一个删除触发器tdcj,对course 表进行删除操作,删除一个course表中的课程,则删除score表 中对应课程号的所有记录。
时间: 2024-02-18 07:05:30 浏览: 68
好的,我明白了。以下是针对你的问题的回答:
1. 求学生人数:
```
SELECT COUNT(*) FROM student;
```
2. 检索学号为“20170809”的学生姓名:
```
SELECT name FROM student WHERE sno='20170809';
```
3. 求选修了'002' 课程的学生学号:
```
SELECT sno FROM score WHERE cno='002';
```
4. 检索姓名为“李研”的学生的成绩:
```
SELECT score FROM score WHERE sno=(SELECT sno FROM student WHERE name='李研');
```
5. 将表student中名为“snane”的列长度改为20:
```
ALTER TABLE student MODIFY COLUMN name VARCHAR(20);
```
7. 查询姓名中含有字符为“海”的学生信息:
```
SELECT * FROM student WHERE name LIKE '%海%';
```
8. 统计每门课的平均成绩:
```
SELECT cno, AVG(score) FROM score GROUP BY cno;
```
9. 创建视图age_view, 该视图能查询年龄在18至20之间的学生信息:
```
CREATE VIEW age_view AS SELECT * FROM student WHERE age BETWEEN 18 AND 20;
```
10. 创建一个删除触发器tdcj,对course 表进行删除操作,删除一个course表中的课程,则删除score表 中对应课程号的所有记录:
```
CREATE TRIGGER tdcj BEFORE DELETE ON course FOR EACH ROW DELETE FROM score WHERE cno=OLD.cno;
```
阅读全文