« テーブルを作成する 【CREATE TABLE】 MySQL

テーブル一覧を表示する 【SHOW TABLES】 MySQL »

フィールドの型と属性 MySQL

フィールド内のデータを効率的に管理するためにテーブル作成時に「型」や「属性」を指定することができます。

フィールドの型

データベースは大量のデータを効率的に管理するため、各フィールドの入力データに「型」という制限を設けています。例えば「INT」型を指定したフィールドには整数しか格納できません。つまり「123」のような数値のみ格納可能で、「あいう」や「abc」は格納できません。テーブルを作成する際、適切な型を指定することで効率的にデータを管理し、間違ったデータを格納しようとした場合にエラーメッセージを出力できます。

文字列を扱う「CHAR」型や「VARCHAR」型を使用するときは「CHAR(10)」や「VARCHAR(100)」のように最大文字数を指定します。また、整数型や浮動小数点数型でも「INT(10)」のように表示桁数を指定することができるが、これは小さな値が入った場合に表示桁数分をスペースで埋めてくれるものであり、値を制限するものではありません。

代表的なフィールドの型

TINYINT8ビット整数(-128~127)
SMALLINT16ビット整数(-32,768~32,767)
INT32ビット整数(-2,147,483,648~2,147,483,647)
BIGINT64ビット整数(-9,223,372,036,854,775,808~-9,223,372,036,854,775,807)
FLOAT単精度の浮動小数点数
DOUBLE倍精度の浮動小数点数
CHAR固定長文字列(最大255文字)
VARCHAR可変長文字列(最大255文字)
TEXT可変長文字列(最大65,535文字)
DATE日付
DATETIME日付と時間
BLOBバイナリーデータ

フィールドの属性

フィールドにルールを適用させるのが属性です。同じ値を入力されたら困る場合や入力されなかった時に使用するデフォルト値などを設定できます。

PRIMARY KEY

対象のデータを特定するために使用するフィールドにつけられる属性が「PRIMARY KEY(主キー、プライマリーキー)」です。主キーを使えば対象のデータを確実に見つけだすことができます。

主キー属性のフィールドには自動的に「UNIQUE & NOT NULL」属性がつきます。
「UNIQUE」とは「別レコードに同じ値を設定してはいけません」という属性です。データに同じ値が複数あったら対象のデータを特定できませんよね。なので、主キー属性フィールドにはテーブル内で唯一無二の値が入力されます。
また、「NOT NULL」属性も自動的につきます。「null」とは「何もない」という意味で値が入力されていないことを意味します。主キーに値が入力されないと困るので必ず値を入力させる属性で「NOT NULL」が付加されるのです。

AUTO_INCREMENT

自動的に連番を振ってくれるのが「AUTO_INCREMENT(自動連番)」です。「PRIMARY KEY」と一緒に使われることが多く、主キーに自動で連番を振ってくれます。

代表的なフィールドの属性

PRIMARY KEY主キー:ユニーク値でありNULL値を許さない(UNIQUE & NOT NULL)
AUTO_INCREMENT自動連番を振る
UNIQUE別レコードに同じ値を持つことはできない
NOT NULL必須(省略不可)項目でありNULL値を許さない
DEFAULT値が入らなかった場合のデフォルト値を指定する