数値型(データ型)のまとめ
型 | 最小値 | 最大値 | サイズ |
---|---|---|---|
TINYINT | -128 | 127 | 1バイト | TINYINT UNSIGNED | 0 | 255 | 1バイト |
SMALLINT | -32768 | 32767 | 2バイト |
SMALLINT UNSIGNED | 0 | 65535 | 2バイト |
MEDIUMINT | -8388608 | 8388607 | 3バイト |
MEDIUMINT UNSIGNED | 0 | 16777215 | 3バイト |
INT | -2147483648 | 2147483647 | 4バイト |
INT UNSIGNED | 0 | 4294967295 | 4バイト |
BIGINT | -9223372036854775808 | 9223372036854775807 | 8バイト |
BIGINT UNSIGNED | 0 | 18446744073709551615 | 8バイト |
FLOAT | -3.402823466E+38 | 3.402823466E+38 | 4バイト |
FLOAT UNSIGNED | 0 | 3.402823466E+38 | 4バイト |
DOUBLE | -1.7976931348623157E+308 | 1.7976931348623157E+308 | 8バイト |
DOUBLE UNSIGNED | 0 | 1.7976931348623157E+308 | 8バイト |
- それぞれ上記のようにUNSIGNEDオプションを指定できます。UNSIGNEDオプションを付けた場合には負の数は使えませんが、正の数は2倍に広がります。(floatとdoubleは別)。
- それぞれZEROFILLオプションを指定できます。設定すると最上位の桁から0で埋められます。
(例:INT型の場合は123、INT ZEROFILLの場合は0000000123)。なおZEROFILLオプションを付けると自動的にUNSIGNEDオプションが付きます(負の数では使えない)。 - TINYINT、SMALLINT、INT、BIGINTは精度を指定できます(例:INT(precision))。
- FLOATとDOUBLEは精度と位取りを指定できます(例:DOUBLE(precision, scale))。
引数 説明 precision 精度。数字全体の有効桁数 scale 位取り。最大で30までで、precision-2以下である必要がある
例:123.4 -> 精度4、位取り1
以下詳細です。
M:最大表示サイズを表す。正式な最大表示サイズは 255。
D:小数点型に適用され、小数点以下の桁数を表す。最大値は 30 だが、M-2 より大きくしないようにする。
角かっこ('[' と ']')は、オプションの型指定子の一部であることを表します。
カラムに対して ZEROFILL を指定すると、そのカラムに UNSIGNED 属性が自動で追加されることに注意してください。
整数値の減算で、どちらか一方の整数値が UNSIGNED 型の場合、結果の値は符号なしになります。
型 | 属性 | 説明 |
---|---|---|
TINYINT | [(M)] [UNSIGNED] [ZEROFILL] | 非常に小さな整数。符号付きの範囲は -128 〜 127。符号なしの範囲は 0 〜 255 |
BIT , BOOL , BOOLEAN | TINYINT(1) の別名 | |
SMALLINT | [(M)] [UNSIGNED] [ZEROFILL] | 小さな整数。符号付きの範囲は -32768 〜 32767。符号なしの範囲は 0 〜 65535 |
MEDIUMINT | [(M)] [UNSIGNED] [ZEROFILL] | 中間サイズの整数。符号付きの範囲は -8388608 〜 8388607。符号なしの範囲は 0 〜 16777215 |
INT | [(M)] [UNSIGNED] [ZEROFILL] | 通常サイズの整数。符号付きの範囲は -2147483648 〜 2147483647。符号なしの範囲は 0 〜 4294967295 |
INTEGER | [(M)] [UNSIGNED] [ZEROFILL] | INT の別名 |
BIGINT | [(M)] [UNSIGNED] [ZEROFILL] | 大きい整数。符号付きの範囲は -9223372036854775808 〜 9223372036854775807。符号なしの範囲は 0 〜 18446744073709551615 |
FLOAT(precision) | [UNSIGNED] [ZEROFILL] | 浮動小数点数。precision は、単精度浮動小数点数の場合は <=24 で、倍精度浮動小数点数の場合は 25 〜 53 の間。これらの型はこのすぐ後に説明する FLOAT 型と DOUBLE 型に類似している。 FLOAT(X) は対応する FLOAT 型および DOUBLE 型と範囲は同じだが、表示サイズと小数部桁数は定義されない ※MySQL バージョン 3.23 では、これは真の浮動小数点値。それ以前の MySQL バージョンでは、FLOAT(precision) の小数部は常に 2 桁になる。 ※MySQL の計算はすべて倍精度で行われるため、FLOAT の使用時には予期しない問題が発生する場合があることに注意する。 ※この構文は ODBC との互換性を確保するために提供されている |
FLOAT | [(M,D)] [UNSIGNED] [ZEROFILL] | 単精度浮動小数点数。使用可能な値は -3.402823466E+38 〜 -1.175494351E-38、0、および 1.175494351E-38 〜 3.402823466E+38。UNSIGNED を指定した場合、負数は使用できない。M は表示幅で、D は小数部桁数。引数のない FLOAT や、X が 24 以下の FLOAT(X) は、単精度浮動小数点数を表す |
DOUBLE | [(M,D)] [UNSIGNED] [ZEROFILL] | 倍精度浮動小数点数。 使用可能な値は -1.7976931348623157E+308 〜 -2.2250738585072014E-308、0、および 2.2250738585072014E-308 〜 1.7976931348623157E+308。UNSIGNED を指定した場合、負数は使用できない。M は表示幅で、D は小数部桁数。引数のない DOUBLE や、X が 25 以上 53 以下である FLOAT(X) は、倍精度浮動小数点数を表す |
DOUBLE PRECISION | [(M,D)] [UNSIGNED] [ZEROFILL] | DOUBLE の別名 |
REAL | [(M,D)] [UNSIGNED] [ZEROFILL] | DOUBLE の別名 |
DECIMAL | [(M[,D])] [UNSIGNED] [ZEROFILL] |
アンパック浮動小数点数。CHAR カラムのように動作する。``アンパック'' とは、その数値が、各桁に 1 文字ずつ使用して文字列として格納されることを意味する。M では、小数点と、負数に使用される '-' 記号はカウントされない(しかし、これらのためのスペースは確保される)。D が 0 の場合、値は小数点も小数部も持たない。DECIMAL 値の最大範囲は、DOUBLE と同じだが、個々の DECIMAL カラムの実際の範囲は、M と D の値によって制限される。UNSIGNED を指定した場合、負数は使用できない。 D を省略した場合、デフォルトは 0。M を省略した場合、デフォルトは 10 MySQL バージョン 3.23 より前のバージョンでは、M 引数に、符号と小数点に必要なスペースを含める必要がある |
DEC | [(M[,D])] [UNSIGNED] [ZEROFILL] | DECIMAL の別名 |
NUMERIC | [(M[,D])] [UNSIGNED] [ZEROFILL] | DECIMAL の別名 |
FIXED | [(M[,D])] [UNSIGNED] [ZEROFILL] | DECIMAL の別名 FIXED エイリアスは、他のサーバとの互換性を確保する目的で、バージョン 4.1.0 で追加された |
関連記事
- Seedの実行順(外部キー制約などを先に実行させる方法) Foreign key violation
- EC-CUBE2系で商品を大量にカートに入れると注文情報が抜けたりカートが消えたりする
- yumのius(iuscommunity.org)でエラーが出る場合
- iusリポジトリで公開されているパッケージの一覧
- phpMyAdminでログイン画面を出さずにデータベースに接続する方法
- MySQLやMariaDBは標準ではログローテートされない
- MySQL(MariaDB)をユーザー情報を含めてすべて移行する方法
- 4.0以前と4.1以降のパスワード方式の違い
- CakePHPでカラムを比較してSELECTする方法
- 『Table is marked as crashed and should be repaired』の修復方法
- コマンドやphpMyAdminで複数のデータベースに接続できるユーザーを作成する方法
- phpMyAdminで『information_schema』などを非表示にする方法
- PDO_MYSQLをインストールする方法
- 日付型のフォーマットにスラッシュを使ってはいけません(文字コードによって値が変わる)
- MySQLでdatetime型(日時)を日付で抽出するSQLの速度比較
- データベースを定時バックアップする方法(毎日バックアップする処理)
- MySQL関数のまとめ
- MySQLの処理を停止させる方法
- MySQLサーバに接続できるかどうかを確認する
- 複数のデータベースを切り替える方法(別データベースを使用する)
- MySQLで文字化けを防ぐ方法
- 別テーブルでSELECT JOINしながらUPDATEする方法(SELECTした結果でUPDATEする)
- OpenPNE3のデータベースの設定
- MySQLのログファイル ログの種類と保存先
- 文字コードを指定する方法
- LIMITで件数制限をしつつ、全件数を取得する方法 SQL_CALC_FOUND_ROWS FOUND_ROWS()
- SQL Buddy ブラウザベースのMySQL管理ツール
- Got a packet bigger than 'max_allowed_packet' bytes
- CakePHPのDB接続情報設定
- SQL文で特定の曜日のみ抽出するには
- OpenPNE3のサーバ移行の方法
- EC-CUBEのサーバ移行の方法
- EC-CUBEのバックアップ機能とリストア
- EC-CUBEでMySQLデータベースのデータ取得で文字化けするときの対処法
- symfonyのORマッパ(Propel、Doctrine)
- Ruby on Railsのマイグレーションの型とMySQLの型の対応表
- MySQLでランダムな数字を得る方法
- MySQLでBeep音を消す設定
- Zend_DBのSELECTメソッドのまとめ
- Zend_DBの基本
- MySQLでクエリーをログに記録する方法
- MySQLのインストール
- Zend Frameworkのデータベース接続
- WordPressのインストール
- DB設計を見直してEC-CUBEを高速化する
- WindowsでMySQLを再起動する方法
- レコード挿入時の #1364 - Field doesn't have a default value
- オフセットの後半になると急に遅くなる MySQLの高速化
- Beep音を無効にする
- MySQL Query Browser 本家GUIツール
- CSE(Common SQL Environment) SQL便利ツール
- Symfony PropelでのMySQLの設定方法
- MySQLのソケットエラー
- utf8_general_ci と utf8_unicode_ci の違い
- 文字列型(データ型)のまとめ
- 日付と時刻型(データ型)のまとめ
- 個体識別情報・UIDの取得方法
- Windows MySQLインストール後の設定
- Windows MySQLのインストール
スポンサーリンク