MySQLでテーブル作成するコマンド
CREATE TABLE <テーブル名> (
<列名1> <データ型> <制約>,
<列名2> <データ型> <制約>,
<列名3> <データ型> <制約>,
) <テーブルオプション>
列名
登録するデータの項目名
名前 | 性別 | 生年月日 | 血液型 |
---|---|---|---|
山田 太郎 | 男性 | 1990年10月10日 | B型 |
吉田 香 | 女性 | 1997年5月7日 | A型 |
田中 賢 | 男性 | 2002年6月21日 | O型 |
中村 康太 | 男性 | 1999年8月31日 | AB型 |
上の表でいう、名前、性別、生年月日、血液型 の部分。
データ型
登録するデータの種類を定める。
文字列なのか、整数なのか、日時なのか とか。
制約
登録するデータに条件や制限をつける。
空欄は禁止とか、同じデータは入れてはいけないとか。
テーブルオプション
テーブルのオプションを指定する。
何語でデータを登録するのか とか。
テーブルの例
CREATE TABLE reviews (
id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255),
author VARCHAR(255),
status VARCHAR(10),
score INTEGER,
comment VARCHAR(1000),
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) DEFAULT CHARACTER SET=utf8mb4;
データ型で使用しているもの
INTEGER
データの型は、整数。
VARCHAR
データの型は、文字列。
(数字)は、文字数の制限。
TIMESTAMP
データの型は、日付と時間
制約で使用しているもの
NOT NULL
項目は必ず入力する。
AUTO_INCREMENT
データを追加したら、現在格納されているデータ数+1をする。
PRIMARY KEY
重複なし。同じデータはダメ。
DEFAULT CURRENT_TIMESTAMP
対象の列に何も入力がされなかったら、現在の時刻を入れる。(厳密には違う)
ざっくりと説明しましたが、厳密に知りたい方は公式ドキュメントを参照してください。