MySQLのテーブル作成を完全解説!初心者でもわかるCREATE TABLEの基本
生徒
「MySQLって聞いたことはあるんですけど、テーブルって何ですか?」
先生
「テーブルは、紙のノートに引いた表と同じです。名前や年齢を書いて整理するための表を、パソコンの中に作るものだと思ってください。」
生徒
「表を作るだけでもプログラムを書く必要があるんですか?」
先生
「はい。ただし難しい操作ではありません。MySQLではCREATE TABLEという命令を使えば、誰でも表を作れます。」
1. MySQLとテーブルの基本的な考え方
MySQLは、データベースと呼ばれる仕組みの一つです。データベースとは、たくさんの情報をきちんと整理して保存しておくための入れ物です。紙の名簿や家計簿を想像すると分かりやすいです。
その中でテーブルは、行と列で構成された表のことを指します。列は「項目」、行は「1人分の情報」と考えると理解しやすくなります。例えば、会員名簿であれば、名前や年齢、メールアドレスといった項目を列として用意します。
2. CREATE TABLEとは何か
CREATE TABLEは、MySQLで新しいテーブルを作成するときに使うSQL文です。SQLとは、データベースに対して「こうしてほしい」とお願いするための言葉です。
CREATEは「作る」、TABLEは「表」という意味があります。つまりCREATE TABLEは「表を作ってください」という命令になります。パソコン初心者の方は、エクセルで新しい表を作る操作を、文字で指示していると考えてください。
3. テーブル作成前のサンプルデータを確認しよう
これから作るテーブルには、会員情報を保存するとします。完成後にどのような形になるのかを、先に確認しておきましょう。
id | name | age | email
---+------------+-----+-------------------
1 | 山田太郎 | 25 | taro@example.com
2 | 佐藤花子 | 19 | hanako@example.com
3 | 鈴木一郎 | 30 | ichiro@example.com
4 | 高橋次郎 | 22 | jiro@example.com
4. 一番シンプルなCREATE TABLEの書き方
それでは、実際にMySQLでテーブルを作成してみましょう。まずは基本となる形です。項目の名前と、どんなデータを入れるかを指定します。
CREATE TABLE users (
id INT,
name VARCHAR(50),
age INT,
email VARCHAR(100)
);
INTは数字を入れるための型で、年齢や番号に使います。VARCHARは文字を入れるための型で、名前やメールアドレスに使います。カッコの中の数字は、最大で何文字まで入れられるかを表しています。
5. テーブル作成後のイメージ
CREATE TABLEを実行すると、MySQLの中に次のような空の表が用意されます。この時点では、まだ中身は入っていません。
id | name | age | email
---+------+-----+-------
ここに後からデータを追加していくことで、名簿として使えるようになります。
6. 主キーを指定してテーブルを作る
実際のシステムでは、データを見分けるための番号が必要になります。その役割を持つのが主キーです。主キーとは「絶対に重ならない番号」のことです。
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
email VARCHAR(100)
);
PRIMARY KEYを指定することで、idが重複しないように管理されます。これは、会員番号や社員番号のような役割です。
7. AUTO_INCREMENTを使った便利な書き方
毎回番号を考えるのは大変なので、MySQLに自動で番号を付けてもらうことができます。そのときに使うのがAUTO_INCREMENTです。
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
age INT,
email VARCHAR(100)
);
この設定をすると、新しいデータを追加するたびに、idが1ずつ増えていきます。手書きの整理番号を自動で振ってくれるイメージです。
8. データが入った後のテーブル例
実際にデータを登録すると、テーブルは次のようになります。CREATE TABLEで作った形に沿って、情報が整理されます。
id | name | age | email
---+------------+-----+-------------------
1 | 山田太郎 | 25 | taro@example.com
2 | 佐藤花子 | 19 | hanako@example.com
3 | 鈴木一郎 | 30 | ichiro@example.com
4 | 高橋次郎 | 22 | jiro@example.com
このように、MySQLではCREATE TABLEを使うことで、情報をきれいに整理するための土台を作ることができます。