コーススケジュールビューのデータを削除する

MySQLBeginner
オンラインで実践に進む

はじめに

このプロジェクトでは、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 テーブルに基づいてビューを作成する方法を学びます。以下の手順に従ってこのステップを完了しましょう。

  1. ターミナルを開き、MySQL サービスを起動します。

    sudo /etc/init.d/mysql start
    
  2. MySQL ターミナルにログインします。

    mysql -uroot
    
  3. edusys.sql データを MySQL データベースにインポートします。

    SOURCE ~/project/edusys.sql;
    
  4. ~/project ディレクトリに teachesDump.sql という名前の新しいファイルを作成します。

  5. 次のフィールドを含む 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 ビューからのデータを削除する方法を学びます。以下の手順に従ってこのステップを完了しましょう。

  1. teachesDump.sql ファイルを開き、year が 2018 年の場合の teaches_view ビューからのデータを削除するためのコードをファイルに追加します。

    DELETE FROM teaches_view
    WHERE year = 2018;
    
  2. 最終的なコードは以下のとおりです。

    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 でさらに多くの実験を行って練習してください。

✨ 解答を確認して練習✨ 解答を確認して練習