MySQLのデータ型
MySQL データ型
MySQL で定義されるデータ フィールドの型は、データベースの最適化にとって非常に重要です。
MySQL は複数の型をサポートしており、それらは数値型、日付/時刻型、文字列 (文字) 型の 3 つのカテゴリに大別できます。
mysql の特定のデータ型の詳細については、ビデオ チュートリアルを参照してください: MySQL 権威開発ガイド (チュートリアル)
数値型
MySQL は、すべての標準 SQL 数値データ型をサポートします。
これらの型には、厳密な数値データ型 (INTEGER、SMALLINT、DECIMAL、NUMERIC) と近似数値データ型 (FLOAT、REAL、DOUBLE PRECISION) が含まれます。
キーワード INT は INTEGER の同義語で、キーワード DEC は DECIMAL の同義語です。
BIT データ型はビットフィールド値を保存し、MyISAM、MEMORY、InnoDB、BDB テーブルをサポートします。
SQL 標準の拡張として、MySQL は整数型 TINYINT、MEDIUMINT、BIGINT もサポートします。次の表は、各整数型に必要なストレージと範囲を示しています。
タイプ | サイズ | 範囲(符号付き) | 範囲(符号なし) | 使用 |
---|---|---|---|---|
TINYINT | 1バイト | (-128, 127) 0, 25 5) | 小さい整数値 | |
2バイト | (-32 768, 32 767) | (0, 65 535) | 大きい整数値 | |
3テス | (-8 388 608, 8 388 607) | (0, 16 777 215) | 大きい整数値 | |
4 バイト | (-2 147 483 648, 2 7 483 64 7) | (0 ,4 294 967 295) | 大きな整数値 | |
8バイト | (-9,223,372,036,854,775,808,9 223 372 036 854 77 5 807) | (0,18 446 744 073 709 551 615) | 最大整数値 | |
4バイト | (-3.402 823 466 E+38, -1.175 494 351 E-38)、0、(1.175 494 351 E-38、3.402 82 3 466 1 E+38 ) | 0, (1.175 494 351 E-38, 3.402 823 466 E+38) | 単精度 | 浮動小数点値|
DOUBLE | 8バイト | (-1.797 693 134 862 315 7 E+308、-2.225 073 858 507 201 4 E-308)、0、(2.225 073 858 50 7 201 4 E- 308, 1.797 693 134 862 315 7 E+308) | 0, (2.225 073 858 507 201 4 E-308, 1.797 693 134 862 315 7 E+308) | 倍精度 浮動小数点値 |
10進数 | DECIMAL(M,D)の場合、M>Dの場合はM+2、それ以外の場合はD+2です | MとDの値に依存します | MとDの値に依存します | 10進数値 |
日付と時刻の型
時刻の値を表す日付と時刻の型は、DATETIME、DATE、TIMESTAMP、TIME、YEAR です。
各時間タイプには有効な値の範囲と「ゼロ」値があり、MySQL が表現できない不正な値を指定する場合に使用されます。
TIMESTAMP型には後述する独自の自動更新機能があります。
タイプ | サイズ (バイト) | 範囲 | 形式 | 使用 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DATE | 3 | 1000-01-01/9999-12- 31 | YYYY-MM-DD | date値 | ||||||||||||||||||||||||||||
mime3 | '-838:59:59 '/' 838:59:59' | HH:mm:ss | time値または期間 | 1 | ||||||||||||||||||||||||||||
YYYY | 年の値 | DATETIME | 8 | |||||||||||||||||||||||||||||
YYYY-DD時間 | 2038-1-19 11:14:07、2038 年 1 月 19 日 03:14:07 am GMT | YYYYMMDD HHMMSS | 日付と時刻の値、タイムスタンプが混在しています | |||||||||||||||||||||||||||||
タイプ | サイズ | 使用 |
---|---|---|
CHAR | 0-255バイト | 固定長文字列 |
VARCHAR | 0-65535バイト | 可変長文字列 |
Tinybloby0- 255 バイト | 255 文字以内のバイナリ文字列 | |
0-255 バイト | 短いテキスト文字列 | |
0-65 535 文字 セクション | 長いテキストバイナリ形式のデータ | |
0-65 535バイト | 長いテキストデータ | |
0-16 777 215バイト | バイナリ形式の中長テキストデータ | |
0-16 777 215バイト | 中長テキストデータ | |
0-4 294 967 295 バイト | バイナリ形式の非常に大きなテキストデータ | |
0-4 294 967 2 95バイト | 非常に大きなテキストデータ |