記事の内容
この記事では、MySQLでcreate tableを使ってテーブルを作成する方法を紹介します。
テーブルの作成方法
テーブルの作成方法は、「CREATE TABLE」を使って以下のように行います。
カラム名1 データ型 オプション,
カラム名2 データ型 オプション,
カラム名3 データ型 オプション,
)
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB CHARSET=utf8
データ型の説明
カラムに入れるデータには様々な種類があり、それをデータ型で指定することができます。
整数型
整数を扱うには、主にint型かbigint型を使います。
int型の整数の最大値は21億ぐらいです。
世界中のユーザーを登録しようとすると、21億では足りなくなります。
そういった時には、bigint型を使いましょう。
文字列型
文字列を扱うには、主にVARCHAR型かTEXT型を使います。
VARCHAR型は最大で255文字までです。
短い文字の場合は、VARCHARを使いましょう。
それ以上の場合は、TEXT型を使います。
時刻型
時刻を扱う場合には、datetimeを使います。
created_atというカラム名は、そのレコードが作られた時刻を入れる時に、よく使われる名前です。
updated_atというカラム名は、そのレコードが更新された時刻を入れる時に、よく使われる名前です。
その他のオプション
NOT NULL
NOT NULLが設定されているカラムには、必ずデータを入れなければいけません。
そのカラムを未定義のままにしてデータを入れようとすると、エラーが発生します。
AUTO_INCREMENT
AUTO_INCREMENTを設定したカラムでは数値が連番で入力されるようになります。
サロゲートキー(代理キー)によく使われます。
PRIMARY KEY
そのテーブルの主キーとなるカラムで、常に一意になる値が入ります。
ENGINE=InnoDB
MySQLにおいて、データベースの種類を指定します。
最近のバージョンでは、InnoDBを使っていれば間違いはありません。
CHARSET=utf8
テーブルの文字コードです。
よくわからない場合は、utf8を使っておきましょう。
まとめ
この記事では、「CREATE TABLE」の簡単な説明をしました。
「CREATE TABLE」では他にも設定できることがあります。
詳細を知りたい人は、公式のドキュメントを見てて下さい。
Good luck for your engineer life!
この記事が面白かった人は、こちらの記事も読んでみて下さい。