【mysql】phpmyadminでテーブルを作成する方法

phpmyadmin最初の画面 phpmyadminテーブル作成画面

この記事を見ている方は、おそらくデータベースがどのようなものでテーブルがどんな働きをするのかは、ある程度分かっていると思うので省略します。今回はテーブル作成時の構造について書いていきたいと思います。

データ型

データの型には主に以下のような種類があります。

INT数値:データ番号、数量など
(intは有名な型なので詳しく知りたい方はググって下さい。)
VARCHAR文字列:名前、タイトル、メルアドなど短い文字列
(可変長なので格納する文字列のサイズに合わせて領域が確保される。)
TEXT長い文字列:ブログ記事本文、メール本文など長い文字列
DATE日付:投稿日時、最終更新日時
(型はYYYY-MM-DD, 日付の型に関しては詳しく知りたい方はこちら)

長さ

型がint(数字)の場合は桁数。型が文字列の場合は文字数。

照合順序

さらっとまとめておく。照合順序は文字コード及びソート順の設定。

基本的にはutf8_general_ciまたはutf8_unicode_ciを選ぶ。

半角全角を区別するかどうか。utf8_general_ciはアルファベットの大文字小文字は区別せず、他はすべて区別。対してutf8_unicode_ciはアルファベットの大文字小文字、半角全角を区別しない。

詳しく知りたい方はこちら

属性

属性には主に以下のような種類があります。

BINARY数値型以外
UNSIGNED正の数値
UNSIGNED ZEROFILL「長さ/値」で指定した数まで数値の桁が足りない場合は、0を入れる
on update CURRENT_TIMESTAMPそのデータが更新されるたびに、その時点でのタイプスタンプを値にします

NULL

NULLにチェックを入れると、必ずデータが入っていないといけない状態になります。(チェックを入れると空欄禁止)

インデックス

インデックスとはデータベースのレコードを高速に検索するための仕組み、インデックステーブルとは、その仕組みを使って高速に検索するため情報が格納されたテーブルを指します。

値が入っていなくても問題ありません。

詳しく知りたい方はこちら

A_I

AUTO_INCREMENTの略。チェックを入れると、テーブルにレコードが追加された時に自動的に連続した番号を振ってくれる。(動作に関しては未検証。詳しく分かったらまた記事にします。)

ストレージエンジン

難しいので初期設定にしておきましょう。

詳しく知りたい方はこちら

※データベースのテーブル名に「-」が入っているとエラーを起こすので「_」を使うようにしましょう。