データベースに対して、データを格納する場所がテーブルです。今回はテーブルの作成方法について見ていきます。

CREATE TABLE

新しいテーブルを作成するときは、CREATE TABLE文を使用します。

CREATE TABLE文の基本構文
CREATE TABLE <テーブル名> (<列名> <データ型>, …);

例えば、商品テーブルを作成する場合、テーブルに入るデータとして、商品コード、商品名、単価などが挙げられます。このようなテーブルに格納するデータ項目をテーブルの列名と呼びます。

列を定義する際、その列に応じたデータ型を決める必要があります。

CREATE TABLE文ではテーブル名を指定したあと、カッコの中に列名とデータ型を指定します。テーブルが複数の列を持つ場合は「,」(カンマ)で区切って記述します。

実際にテーブルを作成してみよう

CREATE TABLE文の説明は一旦ここまでで置いておいて、実際にテーブルを作成してみましょう。まずは、MySQLに接続し、データベースを以前の記事で作成した「stuffdb」に切り替えます。ここまでの詳細な手順は「データベースを作成する」を参照してください。

> CREATE TABLE stuff (name TEXT, description TEXT);
Query OK, 0 rows affected (0.73 sec)

「Query OK」と出力されれば、テーブルの作成に成功しています。

データ型

上記では、TEXTというデータ型で列を定義しています。TEXT型とした列には長いテキストを格納することができます。MySQLで利用可能な主なデータ型として下表のようなものがあります。

種類データ型格納できるデータ
数値INT (INTEGER)整数
DOUBLE浮動小数点
BOOL (BOOLEAN)真偽値
文字列等VARCHAR可変長文字列
CHAR固定長文字列
TEXT長いテキスト
BLOBバイナリデータ
時刻DATETIME日時
DATE日付
TIME時刻

CHARやVARCHARなどのデータ型では、列を定義する際にサイズを指定することになります。

> CREATE TABLE sample00 (name VARCHAR(12), description VARCHAR(64));

作成したテーブルを確認する

データベースに作成したテーブルを確認するにはSHOW TABLESコマンドを使用します。

> SHOW TABLES;
+-------------------+
| Tables_in_stuffdb |
+-------------------+
| sample00          |
| stuff             |
+-------------------+

LIKE演算子を用いて、条件を指定することもできます。

> SHOW TABLES LIKE '%sample%';
+------------------------------+
| Tables_in_stuffdb (%sample%) |
+------------------------------+
| sample00                     |
+------------------------------+

テーブルに含まれる列など、テーブル定義を表示したい場合は、SHOW CREATE TABLEコマンドを使用します。

> SHOW CREATE TABLE stuff;