はじめに
このプロジェクトでは、MySQL データベースのcountrylanguageテーブルを変更し、IsOfficialフィールドの「not null」制約を削除する方法を学びます。
👀 プレビュー
MariaDB [world]> DESC countrylanguage;
+-------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3) | NO | PRI | | |
| Language | char(30) | NO | PRI | | |
| IsOfficial | enum('T','F') | YES | | NULL | |
| Percentage | decimal(4,1) | NO | | 0.0 | |
+-------------+---------------+------+-----+---------+-------+
4 rows in set (0.002 sec)
🎯 タスク
このプロジェクトでは、以下を学びます。
- MySQL データベースを起動し、
sudoコマンドを使用してアクセスする方法 world.sqlデータファイルを MySQL データベースにインポートする方法countrylanguageテーブルを変更し、IsOfficialフィールドの「not null」制約を削除する方法countrylanguageテーブルに対して行われた変更を検証する方法
🏆 成果
このプロジェクトを完了すると、以下ができるようになります。
- コマンドラインインターフェイスを使用して MySQL データベースを操作する方法を理解する
- フィールドの制約を変更することでテーブル構造を変更する
- テーブルの構造を記述することで、テーブルに対して行われた変更を検証する
MySQL データベースを起動して MySQL にアクセスする
このステップでは、MySQL データベースを起動し、パスワードなしでsudoコマンドを使用してアクセスする方法を学びます。
- MySQL データベースサービスを起動する:
sudo service mysql start
- MySQL コマンドラインインターフェイスにアクセスする:
sudo mysql
これで MySQL データベースを操作できる状態になりました。
World データベースをインポートする
このステップでは、world.sqlデータファイルを MySQL データベースにインポートし、worldデータベースに切り替える方法を学びます。
world.sqlデータファイルをインポートする:
MariaDB [None]> SOURCE /home/labex/project/world.sql;
worldデータベースに切り替える:
MariaDB [None]> USE world;
これでworldデータベースが読み込まれ、操作できる状態になりました。
countrylanguage テーブルを変更する
このステップでは、countrylanguage テーブルの IsOfficial フィールドから「not null」制約を削除する方法を学びます。
- テキストエディタで
changeNull.sqlファイルを開きます。 - 次の SQL ステートメントをファイルに追加します:
ALTER TABLE countrylanguage MODIFY COLUMN IsOfficial ENUM('T', 'F') NULL;
このステートメントは、countrylanguage テーブルの IsOfficial フィールドから「not null」制約を削除します。
changeNull.sqlファイルを保存します。
changeNull.sql スクリプトを実行する
このステップでは、MySQL コマンドラインインターフェイスで changeNull.sql スクリプトを実行する方法を学びます。
- MySQL コマンドラインインターフェイスで、次のコマンドを実行して
changeNull.sqlスクリプトを実行します:
MariaDB [world]> SOURCE /home/labex/project/changeNull.sql;
これにより、changeNull.sql ファイル内の SQL ステートメントが実行され、countrylanguage テーブルが変更されます。
変更を検証する
このステップでは、countrylanguage テーブルに対して行われた変更を確認する方法を学びます。
- MySQL コマンドラインインターフェイスで、次のコマンドを実行して
countrylanguageテーブルの構造を表示します:
MariaDB [world]> DESC countrylanguage;
出力結果には、IsOfficial フィールドから「not null」制約が削除されていることが示されるはずです。
+-------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3) | NO | PRI | | |
| Language | char(30) | NO | PRI | | |
| IsOfficial | enum('T','F') | YES | | NULL | |
| Percentage | decimal(4,1) | NO | | 0.0 | |
+-------------+---------------+------+-----+---------+-------+
4 rows in set (0.002 sec)
おめでとうございます!IsOfficial フィールドから「not null」制約を削除することで、countrylanguage テーブルを正常に変更できました。
まとめ
おめでとうございます!このプロジェクトを完了しました。実験技術を向上させるために、LabEx でさらに多くの実験を行ってみることができます。
