この記事は、MySQLの初心者向けの内容となります。
主な内容は、サンプルデータベースの作り方です。
そのサンプルデータベースにはデータの用意されたテーブルが存在しています。
そのため、MySQLの学習や練習には最適と言えるでしょう。
本記事の内容
- サンプルデータベースのダウンロード
- サンプルデータベースの構築
- サンプルデータベースの確認(テーブル一覧)
それでは、上記に沿って解説していきます。
サンプルデータベースのダウンロード
サンプルデータベースは、MySQLの公式サイトで公開されています。
https://dev.mysql.com/doc/index-other.html
まずは、上記ページにアクセスします。
この画面上で次の表示を確認できます。
サンプルデータベースは、複数用意されています。
今回は、「world database」をダウンロードします。
TGZかZipのどちらかを選択できます。
ここでは、Zip形式のファイルを選びます。
wgetが使えるなら、次のコマンドでもダウンロードできます。
$ wget https://downloads.mysql.com/docs/world-db.zip
ダウンロードされるファイル(world-db.zip)は、zip形式で容量が91KBです。
では、以下ではダウンロードしたファイルをもとにサンプルデータベースを作っていきます。
サンプルデータベースの構築
検証環境は、Linux(Ubuntu)となります。
Windowsであっても、MySQLコマンドは同じように利用できます。
では、サンプルデータベースの構築を行います。
作業は、以下の順番で実施します。
- sqlファイルの用意
- MySQLへの接続
- SOURCEコマンドの実行
それぞれを下記で説明します。
sqlファイルの用意
ダウンロードしたファイルを展開します。
$ unzip world-db.zip Archive: world-db.zip creating: world-db/ inflating: world-db/world.sql
sqlファイルをtmpに移動しておきます。
$ mv ./world-db/world.sql /tmp
MySQLへの接続
公式の手順では、rootで接続しています。
$ mysql -u root -p
しかし、セキュリティのためにrootログインを許可していない場合があるでしょう。
その場合は、root以外のユーザーで接続しても構いません。
ただし、そのユーザーにはデータベースの新規作成の権限が必要です。
とにかく、MySQLに接続します。
$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 8.0.29 MySQL Community Server - GPL Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
SOURCEコマンドの実行
MySQLに接続した状態で、次のコマンドを実行。
mysql> SOURCE /tmp/world.sql
実行すると、次のような表示が繰り返されます。
~ Query OK, 1 row affected (0.00 sec) Query OK, 1 row affected (0.00 sec) Query OK, 1 row affected (0.00 sec) ~
処理が完了したら、サンプルデータベースの構築の作業は終了です。
最後に、データの中身を見てみましょう。
サンプルデータベースの確認(テーブル一覧)
MySQLに接続した状態で処理を行います。
まず、データベース一覧を確認します。
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | | world | +--------------------+ 5 rows in set (0.01 sec)
「world」を確認できますね。
では、この「world」データベースに接続します。
mysql> USE world Database changed
「world」データベースに接続できました。
存在するテーブル一覧を確認します。
mysql> SHOW TABLES; +-----------------+ | Tables_in_world | +-----------------+ | city | | country | | countrylanguage | +-----------------+ 3 rows in set (0.00 sec)
それぞれのレコード数を確認してみましょう。
mysql> SELECT COUNT(*) FROM city; +----------+ | COUNT(*) | +----------+ | 4079 | +----------+ 1 row in set (0.02 sec) mysql> SELECT COUNT(*) FROM country; +----------+ | COUNT(*) | +----------+ | 239 | +----------+ 1 row in set (0.02 sec) mysql> SELECT COUNT(*) FROM countrylanguage; +----------+ | COUNT(*) | +----------+ | 984 | +----------+ 1 row in set (0.01 sec)
ここまで確認できれば、十分でしょう。