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