実際に、MySQLでテーブルを作成してみる。
MySQLをダウンロード
今回はデータベースとして、MySQLをダウンロードする。
インストール方法は以前こちらに整理した。
MacでMySQLをインストールする
ウェブアプリケーションの開発で、MySQLを使うことになったので、インストールしてみた。
テーブルに入れる情報を用意

今回はこちらの登山者情報をもとに、テーブル(表のこと)を作成する。
イメージとしては誰が、どこの山に登ったかを記録する。
将来的に山の情報として、下のmountainsテーブルも作成し、登山者IDで二つのテーブルを紐づけていく予定。
山の情報はこちらを参照した。https://www.momonayama.net/hundred_mt_list_data/list.html

テーブルの形
テーブルを作成するときは、以下のようになる。
CREATE TABLE テーブルの名前;
カラム1 データ型 オプション,
カラム2 データ型 オプション,
カラム3 データ型 オプション,
カラム4 データ型 オプション
);
カラムの名前を設定
カラムは、自分が用意したいデータの種類に応じて作成する。
上のhikersテーブルなら、ID、名前、住所、電話番号を設定する。
カラム名は通常英語なので、id, name, address, telという形で用意する。
データ型の用意
自分の用意したいデータによって、データ型を用意する。
例えば年齢なら数値を入れるintとか、名前なら文字列を入れる時に使うCHARやVARCHAR、という具合に用意しておく。
//example ( )の中身は最大文字数
name VARCHAR(10)
データ型の指定はたくさん種類があるので、使いたいシチュエーションに応じてデータ型を調べると良い。
オプションの用意
オプションによって、より詳細な設定をすることができる。
いくつか例をあげる。
- unique
重複する値は入れられない。e-mailとか、アカウント名に使える。
- default
テーブルにデータを入れる際、値が何も指定されなかった時に、デフォルトで入れる値を決められる。
- not null
nullを許さない。つまり値の入力を必須にする
テーブルを作成する
では早速hikersテーブルを作成してみる。

今回はhikingというデータベースにテーブルを作成するので、データベース名.テーブル名という形で、データベース名まで指定する。
CREATE TABLE hiking.hikers(
hikers_id int PRIMARY KEY NOT NULL, //IDをいれる。他の表と紐づけるからPRIMARY KEYをつける。空欄はだめ。
name VARCHAR(10), //名前を入れる
address VARCHAR(40), //アドレスを入れる
tel VARCHAR(20), //電話番号。 -とか、+81とか入るかもしれないからVARCHAR
);
使用するデータベースを選んでから、テーブル作成も可能
上の例では、データベース名.テーブル名という形で繋げたが、最初に使用するデータベースを選ぶことも可能。
その場合は下記コマンドで、使用するデータベースを選ぶ。
//使用するデータベースを選択する
use hiking;
//選択した後、テーブルを作成
CREATE TABLE hikers;
テーブルを確認する
テーブルができているか確認するには下記のコマンドを押す。
show tables from データベース名;
//example
mysql> show tables from hiking;
すると、下記のように表示され、hikingデータベースに、hikersテーブルができていることがわかる。
mysql> show tables from hiking;
+------------------+
| Tables_in_hiking |
+------------------+
| hikers |
+------------------+
1 row in set (0.00 sec)