テーブルの作成(CREATE TABLE)

MySQL ver 5.6.38を使用しています

DBを作ったら次はテーブルの作成

CREATE TABLE

基本構文は以下

CREATE TABLE `table_name` (
  `col_name1` data_type1,
  `col_name2` data_type2,
  ...)
table_name 表の名前 col_nameN カラム名(1~N個を指定) data_type1 該当カラムの型(1~N個を指定)

個人的には以下のような構文を固定で用意しておいて、必要箇所を修正して作成しています
(例として、id、nameの2つのカラムを持ったemployeeというテーブルを作る構文とします)

CREATE TABLE IF NOT EXISTS `employee` (
  `id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

 

【解説】

■1行目

CREATE TABLE IF NOT EXISTS `employee` (

CREATE TABLEですが、IF NOT EXISTSを入れて、テーブルが存在しない場合のみ作成します。事故防止的なおまじない。

 

■2行目

`id` int(11) NOT NULL,

`id`という名前のint型11桁のカラムを作成、NOT NULLはNULLを許可しない定義

 

■3行目

`name` varchar(255) NOT NULL,

`id`と一緒ですね、こっちはvarchar型の255バイトのカラムとして定義

 

■4行目

PRIMARY KEY (`id`)

PRIMERY KEYに`id`カラムを指定、複数指定したい場合はカンマで繋げます。
PRIMARY KEY (`id`,`name`) みたいな感じ

 

■5行目

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

MySQLのストレージエンジンにはMyISAMとInnoDBがあります
この違いの説明は今回省略(というかあんましわかってない・・)
今回はとりあえず、デフォルトのInnoDBを指定、
ついで、文字コードにutf8を指定しています。

 

実際に作ってみる

以下のような手順で実行します

1 実行前の確認(show tables)
2 CREATE実行(CREATE TABLE)
3 実行後の確認(show tables)
4 テーブルの詳細確認(describe employee)

001_create_table

phpMyAdminなどでGUIベースで作成してもいいですが、私は確認環境でCREATE文を実行して、想定通り作成されたことを確認したのち、本番環境で同じCREATE文を実行します。オペミスはどうしても付きまとうので、試験は大事ですよね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です