あなたの家 (「動物園」) にたくさんのペットがいて、それらに関するさまざまな種類の情報を追跡したいとします。テーブルを作成し、必要な情報をロードすることでデータを保存できます。その後、テーブルからデータを取得して、さまざまな種類の動物に関する質問に答えることができます。このセクションでは、これらすべてを実行する方法を示します:
· データベースを作成する
· データベース テーブルを作成する
· データベース テーブルにデータをロードする
· さまざまな方法でテーブルからデータを取得する
· 複数のテーブルを使用する
動物園のデータベースは (設計上) シンプルですが、同様のデータベースが使用される現実の状況を想像するのは難しくありません。たとえば、農家がそのようなデータベースを使用して家畜を追跡したり、獣医師がそれを使用して病気の動物の記録を追跡したりできます。後の章で使用するいくつかのクエリとサンプル データを含む Zoo ディストリビューションは、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 データベースが存在する可能性があります。 mysql はユーザーのアクセス権を記述するため必須であり、テスト データベースはユーザーがスキルを試すためのワークスペースとしてよく使用されます。
SHOW DATABASES 権限がないと、すべてのデータベースを表示できないことに注意してください。
テスト データベースが存在する場合は、それにアクセスしてみます:
mysql> USE test Database changed
USE は、QUIT と同様にセミコロンを必要としないことに注意してください。 (必要に応じて、このようなステートメントをセミコロンで終了することもできます。それでも問題ありません。) USE ステートメントには、もう 1 つの特別な機能があります。それは、単一行で指定する必要があるということです。
後の例でテスト データベースを使用できます (アクセス権がある場合) が、そのデータベースに作成したものはすべて、アクセスした他のユーザーによって削除される可能性があるため、MySQL 管理者に自分で使用する許可を求める必要があります。データベース。動物園に電話をかけたいとします。管理者は次のようなコマンドを実行する必要があります:
mysql> GRANT ALL ON menagerie.* TO 'your_mysql_name'@'your_client_host';
ここで、your_mysql_name は割り当てられた MySQL ユーザー名、your_client_host は接続されたサーバーが配置されているホストです。
権限を設定するときに管理者がデータベースを作成した場合は、その使用を開始できます。それ以外の場合は、データベースを自分で作成する必要があります:
mysql> CREATE DATABASE menagerie;
Unix では、データベース名は (SQL キーワードとは異なり) 大文字と小文字が区別されるため、Use Menagerie ではなく、常にデータベースにアクセスする必要があります。 MENAGERIE またはその他の変数。テーブル名についても同様です。 (Windows では、この制限は適用されませんが、特定のクエリでデータベースとテーブルを参照するには同じ大文字と小文字を使用する必要があります。ただし、いくつかの理由により、ベスト プラクティスとして、データベースの作成時と常に同じ大文字と小文字を使用してください。と同じ場合です。)
データベースの作成は、それを選択して使用することを意味するものではなく、明示的に行う必要があります。動物園を現在のデータベースにするには、次のコマンドを使用します:
mysql> USE menagerie Database changed
データベースを作成する必要があるのは 1 回だけですが、mysql セッションを開始するたびに使用する前に選択する必要があります。これを行うには、上記の例に基づいて USE ステートメントを実行します。 mysql を呼び出すときにコマンド ラインからデータベースを選択することもできます。接続パラメータを指定した後にデータベース名を指定するだけです。例:
shell> mysql -h host -u user -p menagerie Enter password: ********
先ほど表示されたコマンドラインの動物園はパスワードではないことに注意してください。コマンドラインで -p オプションの後にパスワードを指定する場合は、スペースを挿入できません (たとえば、-p mypassword ではなく -pmypassword のように)。ただし、コマンド ラインでパスワードを入力することはお勧めできません。マシンにログインしている他のユーザーにパスワードが公開されてしまうためです。