介绍
在这个项目中,你将学习如何基于 teaches 表创建一个视图,并从该视图中删除相关数据。
👀 预览
MySQL [edusys]> SELECT * FROM teaches_view;
+-------+----------+----------+------+
| id | courseId | semester | year |
+-------+----------+----------+------+
| 76766 | BIO-101 | Summer | 2017 |
| 10101 | CS-101 | Fall | 2017 |
| 83821 | CS-190 | Spring | 2017 |
| 83821 | CS-190 | Spring | 2017 |
| 10101 | CS-347 | Fall | 2017 |
| 98345 | EE-181 | Spring | 2017 |
| 22222 | PHY-101 | Fall | 2017 |
+-------+----------+----------+------+
7 rows in set (0.000 sec)
🎯 任务
在这个项目中,你将学习:
- 如何从
teaches表中创建一个包含特定字段的视图 - 如何根据特定条件从创建的视图中删除数据
🏆 成果
完成这个项目后,你将能够:
- 理解视图的概念以及如何创建视图
- 通过删除匹配特定条件的记录来操作视图中的数据
- 应用这些技能更高效地管理数据库中的数据
创建一个视图
在这一步中,你将学习如何基于 teaches 表创建一个视图。请按照以下步骤完成此操作:
打开终端并启动 MySQL 服务:
sudo /etc/init.d/mysql start登录到 MySQL 终端。
mysql -uroot将
edusys.sql数据导入到 MySQL 数据库中。SOURCE ~/project/edusys.sql;在
~/project目录中创建一个名为teachesDump.sql的新文件。在该文件中添加代码以创建一个名为
teaches_view的视图,该视图包含以下字段:teaches teaches_view ID id course_id courseId semester semester year year 代码应如下所示:
CREATE VIEW teaches_view AS SELECT ID AS id, course_id AS courseId, semester, year FROM teaches;
删除视图数据
在这一步中,你将学习如何从 teaches_view 视图中删除 year 为 2018 的数据。请按照以下步骤完成此操作:
打开
teachesDump.sql文件,并在文件中添加代码以从teaches_view视图中删除year为 2018 的数据。DELETE FROM teaches_view WHERE year = 2018;最终代码如下:
CREATE VIEW teaches_view AS SELECT ID AS id, course_id AS courseId, semester, year FROM teaches; DELETE FROM teaches_view WHERE year = 2018;
现在,你已经完成了创建视图并删除视图中相关数据的项目。你可以在 MySQL 终端中运行 teachesDump.sql 脚本以执行 SQL 语句。
SOURCE ~/project/teachesDump.sql;
执行 SQL 语句后,你可以如下查看 teaches_view 视图中的数据:
MySQL [edusys]> SELECT * FROM teaches_view;
+-------+----------+----------+------+
| id | courseId | semester | year |
+-------+----------+----------+------+
| 76766 | BIO-101 | Summer | 2017 |
| 10101 | CS-101 | Fall | 2017 |
| 83821 | CS-190 | Spring | 2017 |
| 83821 | CS-190 | Spring | 2017 |
| 10101 | CS-347 | Fall | 2017 |
| 98345 | EE-181 | Spring | 2017 |
| 22222 | PHY-101 | Fall | 2017 |
+-------+----------+----------+------+
7 rows in set (0.000 sec)
总结
恭喜你!你已经完成了这个项目。你可以在 LabEx 中练习更多实验来提升你的技能。



