この項ではテーブルを作成するCREATE TABLE構文について解説します。
CREATE TABLE構文
CREATE TABLE テーブル名
(
列定義,
主キー定義,
外部キー定義,
テーブル制約定義リスト(カンマ区切り)
)
[オプションの設定]
列定義
列定義は次のように記述します。
列名 データ型 [その他の列定義]
列名
『列名』は、列を表す識別子です。MySQLの場合は最大64バイトです。
データ型
『データ型』は、その列に格納されるデータの種類を表します。よく使われるものには以下のようなものがあります。
| INT | 4バイト(-2^31~2^31-1)の整数浮動小数点数型 |
| FLOAT | 4バイト長の浮動小数点数文字列型 |
| VARCHAR | 最大65535バイトの可変長文字列 |
| DATE | 書式’YYYY-MM-DD’の日付日付・時刻型 |
| TIME | 書式’HH:MM:SS’の時刻 |
| DATETIME | 書式’YYYY-MM-DD HH:MM:SS’の日時 |
その他の列定義
『その他の列定義』は、必要に応じて列の特性を設定出来ます。よく使われるものを以下に挙げます。
| NULL またはNOT NULL | その列がNULLを許すかどうか。指定しないとNULLを指定したのと同じになります。 |
| DEFAULT | レコードを挿入する際に値を指定しなかった場合の初期値を指定します。 |
| AUTO_INCREMENT | レコード挿入時に値を指定しなかった場合、値を1ずつ増加させながら自動挿入します。整数型・浮動小数点数型にのみ指定可能です。またテーブル内で1つの列にしか設定できません。 |
| UNIQUE | テーブル内で重複した値を挿入出来ないようにします。 |
| PRIMARY KEY | 列を主キーに設定します。テーブル内で1つの列にしか設定できないので、複合キーの場合は別に主キー定義として記述します。 |
主キー定義
主キー定義は次のように記述します。
PRIMARY KEY( 主キーに指定するカラム名リスト(カンマ区切り) )
外部キー定義、テーブル制約定義
これらについては後の節で解説します。
CREATE TABLEの例
例として、次のようなテーブルを作成します。
テーブル名:meibo
| 列名 | データ型 | 長さ | その他 |
|---|---|---|---|
| id | INT | auto_increment 主キー | |
| name | VARCHAR | 20 | |
| ruby | VARCHAR | 40 | |
| birthday | DATE | ||
| VARCHAR | 100 |
これを作成するためのSQLの一例を示します。
CREATE TABLE meibo (
id INT AUTO_INCREMENT,
name VARCHAR(20),
ruby VARCHAR(40),
birthday DATE,
email VARCHAR(100),
PRIMARY KEY(id)
);空白文字(半角空白文字、タブ文字、改行文字など)は連続していくつ記述しても1文字だけの場合と同じように解釈されるので、上記は
CREATE TABLE meibo (id INT AUTO_INCREMENT, name VARCHAR(20), ruby VARCHAR(40), birthday DATE, email VARCHAR(100), PRIMARY KEY(id) );のように1行に連続して記述してもまったく同じに解釈されます。
やってみよう
phpMyAdminの起動
まず、XAMPP Control Panel を開き、ApacheおよびMySQLを起動します。『Apache』および『MySQL』の行の『Start』ボタンをクリックします。

『Apache』および『MySQL』が起動したら(文字が緑色になったら)、Webブラウザを開いて
にアクセスしてみましょう(ポートを80以外、たとえば8080にしている場合はhttp://localhost:8080/phpmyadmin)
または、XAMPP Control Panelの『MySQL』の行にある『Admin』ボタンをクリックしても起動出来ます。

既存テーブルの削除
チュートリアルですでにmeiboテーブルを作成している場合は、いったん削除しましょう。
phpMyAdminメインページの左端にあるデータベース一覧から、『dbkiso1』を選択します。存在しない場合は、チュートリアルを参照してデータベース『dbkiso1』を作成してください。

左サイドメニューのdbkiso1の下に存在するテーブル名の一覧が表示されますので、『meibo』をクリックします。『meibo』がない場合は『テーブルの作成』まで進んでください。

『操作』タブをクリックして、テーブルに対する特殊な操作を行う画面を表示します。

下の方までスクロールして、『テーブルを削除する(DROP)』をクリックします。

確認のダイアログが表示されるので、『OK』をクリックします。
テーブルの作成
上部の『SQL』タブをクリックし、SQL実行画面を表示します。

以下のSQLを入力して、『実行』ボタンをクリックします。
CREATE TABLE meibo (
id INT AUTO_INCREMENT,
name VARCHAR(20),
ruby VARCHAR(40),
birthday DATE,
email VARCHAR(100),
PRIMARY KEY(id)
);これでテーブルができているはずです。左の一覧に『meibo』と表示されていますか?
練習問題
次のテーブルを作成しなさい。
テーブル名:ex_shohin
| 列名 | データ型 | 長さ | その他 |
|---|---|---|---|
| id | INT | 主キー | |
| name | VARCHAR | 20 | |
| price | INT | ||
| note | VARCHAR | 100 |


コメント