はじめに
このプロジェクトでは、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 startMySQL ターミナルにログインします。
mysql -urootedusys.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;
ビューのデータを削除する
このステップでは、year が 2018 年の場合の teaches_view ビューからのデータを削除する方法を学びます。以下の手順に従ってこのステップを完了しましょう。
teachesDump.sqlファイルを開き、yearが 2018 年の場合のteaches_viewビューからのデータを削除するためのコードをファイルに追加します。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 でさらに多くの実験を行って練習してください。



