これまでの記事ではMySQLに付属しているサンプルデータベースを使用してSQL文を実行してきました。今回からはコマンドラインクライアントから、実際にデータベースやテーブルを作成しながら、SQLについて学んでいきます。

まずはコマンドラインクライアントからMySQLに接続してください。(詳細な手順は「コマンドラインクライアント」を参照してください。)

データベースを作成する

テーブルを作成し、データを検索・挿入・更新・削除などの操作を行うためには、その操作対象となるデータベースを作成する必要があります。

データベースを作成するSQLは、CREATE DATABASE文です。CREATE DATABASEキーワードに続けて、作成したいデータベース名を指定します。

> CREATE DATABASE stuffdb;
CREATE DATABASE文の基本構文
CREATE DATABASE <データベース名>;

CREATE DATABASEキーワードに大文字・小文字の区別はありません。つまり、「create database」、「Create Database」など、どちらも同じ意味になります。ただ大文字・小文字を混同すると読みにくくなるため、当サイトでは予約語は大文字で統一します。

さらに、データベース名にも大文字・小文字の区別はありません。これは以降で作成するテーブル名や列名なども同じです。予約語と区別するため、小文字で統一します。

では、データベースが無事に作成できたかどうか確認してみましょう。SHOW DATABASESコマンドで、MySQL上に作成されているデータベースの一覧を表示できます。

> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| stuffdb            |
| sys                |
| world              |
+--------------------+
7 rows in set (0.02 sec)

先ほど作成した「stuffdb」が確認できます。ただ、それ以外にも作成した覚えのないデータベースもあるようです。

MySQLでは、あらかじめMySQL自身が使用するデータベースであるinformation_schemaやmysqlなどが存在します。他、以前に記事でも触れましたがサンプルデータベースであるsakilaやworldも最初から作成されているデータベースになります。

データベースを指定する

MySQLは複数のデータベースを保持することができるため、使用するデータベースを指定したり、切り替えたりする必要があります。使用するデータベースを指定するにはUSEコマンドを実行します。

> USE stuffdb
Database changed

上記では「sutffdb」データベースを指定しています。データベースが指定できると「Database changed」と表示されます。