MySQLとは
DBMS(DataBase Management System)のひとつ、高速でポピュラー
データ型
詳細は次章で
- 整数(TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT)
- 浮動小数点
- 固定小数点
- BIT
- 日付・時刻(DATE, TIME, DATETIME, TIMESTAMP, YEAR)
- CHAR・VARCHAR
- BINARY・VARBINARY
- BLOB・TEXT
- ENUM
- SET
詳細説明
整数
TINYINT
8bitで表現できる整数。
- 符号付きで -128 ~ 127
- 符号なしで 0 ~ 255
の整数を格納できる。
SMALLINT
16bitで表現できる整数。
- 符号付きで -32768 ~ 32767
- 符号なしで 0 ~ 65535
の整数を格納できる。
MEDIUMINT
24bitで表現できる整数。
- 符号付きで -8388608 ~ 8388607
- 符号なしで 0 ~ 16777215
の整数を格納できる。
INT
32bitで表現できる整数。
- 符号付きで -2147483648 ~ 2147483647
- 符号なしで 0 ~ 4294967295
の整数を格納できる。
BIGINT
64bitで表現できる整数。
- 符号付きで -9223372036854775808 ~ 9223372036854775807
- 符号なしで 0 ~ 18446744073709551615
の整数を格納できる。
浮動小数点
小数点付きの数値を表現できる。桁数や仮数部の大きさにより誤差が生じてしまう場合がある(参考)
FLOAT
32bitで表現できる符号付き小数
- 符号 : 1bit
- 指数 : 8bit
- 仮数 : 23bit
で構成される。
およそ7桁くらいの小数を表現できる。
DOUBLE
64bitで表現できる符号付き小数
- 符号 : 1bit
- 指数 : 11bit
- 仮数 : 52bit
で構成される。
およそ16桁くらいの小数を表現できる。
固定小数点
予め小数点以下の桁数を指定するため精度が高い
DECIMAL[(M[,D])]
M : 精度。合計桁数 (max65)
D : 小数点以下の桁数 (max30)
± ( 10 ^ M \div 10^D )
の範囲を表現できる
BIT
ビット型。1~64bitのbit値を格納できる
日付・時刻型(DATE, TIME, DATETIME, TIMESTAMP, YEAR)
DATE
日付
'1000-01-01' から '9999-12-31'
フォーマット : YYYY-MM-DD
DATETIME[(fsp)]
日付と時間の組み合わせ
'1000-01-01 00:00:00.000000' から '9999-12-31 23:59:59.999999'
フォーマット : YYYY-MM-DD HH:MM:SS[.fraction]
TIMESTAMP[(fsp)]
タイムスタンプ
TIMESTAMP 値は、エポック ('1970-01-01 00:00:00' UTC) からの秒数
1970-01-01 00:00:01.000000
UTC から 2038-01-19 03:14:07.999999
UTC
フォーマット :
TIME[(fsp)]
時間
'-838:59:59.000000' から '838:59:59.000000'
フォーマット : HH:MM:SS[.fraction]
YEAR[(2|4)]
2 桁または 4 桁の形式の年
4 桁の形式では、値は 1901 から 2155 と 0000
2 桁の形式では、値は 70 から 69 ( 1970 から 2069 に相当)
フォーマット : YYYY または YY
CHAR・VARCHAR
CHARは余った文字数を空白文字で埋める
→末尾スペースは取得時に削除される
BINARY
char/ varcharのバイナリデータ版
TEXT
varcahrの文字数指定しなかった版でOK
BLOB
varbinaryの文字数指定しなかった版
ENUM
文字列のリストを予め定義し、その中の文字列のみ格納できる。NULLも格納できる。
リストの先頭からインデックスが割り振られ、内部的にはインデックスが格納されている。
SET
ENUMの複数要素選択できる版