コマンドの入力方法がわかったところで、次はデータベースにアクセスします。
自宅でさまざまなペットを飼っていて、それぞれについてさまざまな情報を記録することを考えます。データを格納するためのテーブルを作成し、必要な情報をロードすることで、それを実現できます。テーブルからデータを取得することで、ペットに関するさまざまな質問に答えることもできます。ここでは、以下の作業手順について説明します。
データベースを作成する。
テーブルを作成する。
テーブルにデータをロードする。
さまざまな方法でテーブルからデータを取得する。
複数のテーブルを使用する。
ペットデータベースは単純ですが(意図的)、同じような種類のデータベースが実際に使用される状況はいくらでも考えられます。たとえば、農家が家畜を管理したり、獣医が病歴を記録する際に、同じようなデータベースを使用できます。いくつかのクエリとサンプルデータを含むペットデータベースのディストリビューションは、MySQL
Web
サイトから入手できます。ディストリビューションは、圧縮
tar
形式(http://downloads.mysql.com/docs/menagerie-db.tar.gz)または
Zip
形式(http://downloads.mysql.com/docs/menagerie-db.zip)で提供されています。
SHOW
ステートメントを実行すると、現在サーバ上に存在するデータベースの一覧を表示できます。
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
| tmp |
+----------+
多くの場合、表示されるデータベースの一覧は上の例と実際のマシンでは異なりますが、mysql
および test
の 2
つのデータベースはどちらにも含まれていると思われます。mysql
データベースは、ユーザ特権の定義に使用するので必須です。test
データベースは、ユーザがテストに使用する作業場所として提供されています。
注意: SHOW DATABASES
特権がない場合はすべてのデータベースは表示できません。
See 項4.4.1. 「GRANT
および REVOKE
の構文」。
test
データベースが存在している場合、アクセスしてみます。
mysql> USE test
Database changed
注意: USE
は、QUIT
と同じように、セミコロンを末尾に付ける必要はありません(セミコロンを付けても悪影響はありません)。USE
ステートメントは別の意味で特別です。このステートメントは単一行で入力する必要があります。
test
データベースを使用して(アクセス権がある場合)、以降の例を試すことができますが、その際にこのデータベースに作成したオブジェクトは、このデータベースにアクセスできるほかのユーザによって削除される可能性があります。そのため、独自のデータベースを使用させてもらえるように
MySQL 管理者に依頼する必要があります。ここでは
menagerie
という名前のデータベースを使用するものとします。管理者は以下のようなコマンドを実行する必要があります。
mysql> GRANT ALL ON menagerie.* TO 'your_mysql_name'@'your_client_host';
ここで、your_mysql_name
は使用する
MySQL ユーザ名、your_client_host
はサーバに接続する際に使用するホストです。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.