はじめに
このプロジェクトでは、MySQL データベースに学生用のビューを作成し、そのビュー内のデータを更新する方法を学びます。
👀 プレビュー
MySQL [edusys]> SELECT * FROM student WHERE ID = '70557';
+-------+---------+------+
| id | name | cred |
+-------+---------+------+
| 70557 | History | 0 |
+-------+---------+------+
1 row in set (0.001 sec)
🎯 タスク
このプロジェクトでは、以下を学びます。
- 既存のテーブルに基づいてビューを作成する方法
- ビュー内のデータを更新する方法
🏆 成果
このプロジェクトを完了すると、以下のことができるようになります。
- データベースビューの概念と作成方法を理解する
- SQL 更新文を使ってビュー内のデータを変更する
- これらのスキルを使ってデータベース内のデータを管理・保守する
学生用ビューの作成
このステップでは、student テーブルに基づいて学生用のビューを作成する方法を学びます。
MySQL を起動する:
sudo /etc/init.d/mysql startMySQL ターミナルにログインする:
mysql -urootedusys.sqlスクリプトのデータを MySQL にインポートする:SOURCE ~/project/edusys.sql~/projectディレクトリにupdateView.sqlという名前の新しいファイルを作成する。次のフィールドを含む
teaches_viewという名前のビューを作成するためのコードをファイルに追加する:student student_view ID id name name tot_cred cred コードは以下のようになるはずです:
USE edusys CREATE VIEW IF NOT EXISTS student_view AS SELECT ID AS id, name AS name, tot_cred AS cred FROM student;これにより、
studentテーブルからID、name、tot_cred列を選択し、それぞれid、name、credにリネームしたstudent_viewという名前のビューが作成されます。
学生用ビューの更新
このステップでは、student_view ビュー内のデータを更新する方法を学びます。
updateView.sqlファイルを開き、student_viewビュー内のidが'70557'のエントリに対して、nameフィールドを'History'に更新するコードをファイルに追加します。UPDATE student_view SET name = 'History' WHERE id = '70557';これは、
student_viewビュー内のidが'70557'の行のnameフィールドを'History'に更新します。最終的なコードは以下の通りです。
USE edusys -- 表に示すように対応するフィールドを持つ student_view テーブルを作成する CREATE VIEW IF NOT EXISTS student_view AS SELECT ID AS id, name AS name, tot_cred AS cred FROM student; -- student_view ビュー内の id が 70557 のエントリに対して、name フィールドを History に更新する UPDATE student_view SET name = 'History' WHERE id = '70557';MySQL ターミナルで SQL スクリプトを実行します。
SOURCE ~/project/updateView.sqlIDが'70557'のstudentテーブルからデータを選択することで更新を確認します。SELECT * FROM student WHERE ID = '70557';出力には更新された
nameフィールドが表示されるはずです。+-------+---------+------+ | id | name | cred | +-------+---------+------+ | 70557 | History | 0 | +-------+---------+------+ 1 row in set (0.001 sec)
おめでとうございます!あなたは成功裏に学生用のビューを作成し、そのビュー内のデータを更新しました。
まとめ
おめでとうございます!このプロジェクトを完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を行って練習してください。



