Backend Technology

[DB / MySQL] テーブルを作成する

2021-01-02

実際に、MySQLでテーブルを作成してみる。


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)

-Backend, Technology