フィールドの型と属性 MySQL
フィールド内のデータを効率的に管理するためにテーブル作成時に「型」や「属性」を指定することができます。
フィールドの型
データベースは大量のデータを効率的に管理するため、各フィールドの入力データに「型」という制限を設けています。例えば「INT」型を指定したフィールドには整数しか格納できません。つまり「123」のような数値のみ格納可能で、「あいう」や「abc」は格納できません。テーブルを作成する際、適切な型を指定することで効率的にデータを管理し、間違ったデータを格納しようとした場合にエラーメッセージを出力できます。
文字列を扱う「CHAR」型や「VARCHAR」型を使用するときは「CHAR(10)」や「VARCHAR(100)」のように最大文字数を指定します。また、整数型や浮動小数点数型でも「INT(10)」のように表示桁数を指定することができるが、これは小さな値が入った場合に表示桁数分をスペースで埋めてくれるものであり、値を制限するものではありません。
代表的なフィールドの型
TINYINT | 8ビット整数(-128~127) |
---|---|
SMALLINT | 16ビット整数(-32,768~32,767) |
INT | 32ビット整数(-2,147,483,648~2,147,483,647) |
BIGINT | 64ビット整数(-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 | 値が入らなかった場合のデフォルト値を指定する |