mysqlの数値型には、INT型、TINYINT型、SMALLINT型、MEDIUMINT型、BIGINT型、FLOAT型、DOUBLE型、DECIMAL型があります。
(推奨チュートリアル: mysql ビデオ チュートリアル)
mysql 数値型
1. MySQL 整数型
整数型は数値データとも呼ばれ、数値データ型は主に数値を格納するために使用されます。
MySQL はさまざまな数値データ型を提供します。データ型が異なれば、値の範囲も異なります。保存できる値の範囲が大きくなるほど、必要な記憶域も大きくなります。
MySQL が提供する主な整数型は、TINYINT、SMALLINT、MEDIUMINT、INT、および BIGINT であり、それらの属性フィールドに AUTO_INCREMENT 自動インクリメント制約を追加できます。次の表に、MySQL の数値型を示します。
上の表からわかるように、整数の型が異なれば、格納するバイト数も異なります。占有バイト数が最も少ないのは TINYINT 型です。最も大きいのは BIGINT 型で、その型が占めるバイト数が多いほど、表現できる値の範囲が大きくなります。
各データ型の値の範囲は、占有バイト数に基づいて確認できます。たとえば、TINYINT の格納に 1 バイト (8 ビット) が必要な場合、TINYINT 符号なし数値の最大値は 28-1 (つまり 255) となり、TINYINT 符号付き数値の最大値は 27-1 (つまり 127) になります。他のタイプの整数の値の範囲の計算方法は、次の表に示すように同じです。
# ヒント: 表示幅は、データ型の値の範囲とは関係ありません。表示幅は MySQL が表示できる最大桁数を指定するだけであり、桁数が指定された幅より小さい場合はスペースで埋められます。表示幅より大きい値を挿入した場合でも、その型の整数値の範囲を超えない限り、値を挿入して表示できます。たとえば、年フィールドは 19999 に挿入されます。SELECT を使用してカラム値をクエリすると、MySQL は 4 桁の値ではなく 5 桁の完全な 19999 を表示します。
他の整数データ型でも、テーブル構造を定義するときに必要な表示幅を指定できます。指定しない場合、システムは各型のデフォルトの幅値を指定します。
整数型が異なれば、値の範囲も異なり、必要な記憶領域も異なります。したがって、実際のニーズに応じて最適な型を選択する必要があります。これにより、クエリの効率が向上し、記憶領域が節約されます。
2. mysql 10 進数型
MySQL は、浮動小数点数と固定小数点数を使用して小数を表します。
浮動小数点型には、単精度浮動小数点数 (FLOAT) と倍精度浮動小数点数 (DOUBLE) の 2 つがあり、固定小数点型は DECIMAL の 1 つだけです。
浮動小数点型と固定小数点型はどちらも (M, D) で表すことができます。M は精度と呼ばれ、総桁数を示します。D はスケールと呼ばれ、10 進数の桁数を示します。 。
浮動小数点数型の値の範囲は、表示幅と小数点以下の桁数をそれぞれ表す M (1 ~ 255) と D (1 ~ 30、M-2 を超えることはできません) です。 FLOAT および DOUBLE では M および D はオプションであり、FLOAT および DOUBLE 型はハードウェアがサポートする最大精度で保存されます。 DECIMAL のデフォルトの D 値は 0、M 値は 10 です。
次の表に、MySQL の 10 進数の型とストレージ要件を示します。
DECIMAL 型は FLOAT や DOUBLE とは異なります。 DOUBLE は実際には文字列形式で格納され、DECIMAL の最大値の範囲は DOUBLE と同じですが、有効な値の範囲は M と D によって決まります。 D を固定して M を変更すると、M が大きくなるにつれて値の範囲は広くなります。
上記の表からわかるように、DECIMAL の記憶領域は固定されておらず、精度値 M によって決まり、M 2 バイトを占有します。
FLOAT 型の値の範囲は次のとおりです:
符号付きの値の範囲: -3.402823466E 38~-1.175494351E-38。
符号なし値の範囲: 0 および -1.175494351E-38 ~ -3.402823466E 38。
DOUBLE 型の値の範囲は次のとおりです:
符号付きの値の範囲: -1.7976931348623157E 308~-2.2250738585072014E-308。
符号なし値の範囲: 0 および -2.2250738585072014E-308~-1.7976931348623157E 308。
ヒント: 固定小数点型か浮動小数点型かに関係なく、ユーザー指定の精度が精度の範囲を超える場合は、丸められて処理されます。
FLOAT と DOUBLE は、精度が指定されていない場合、デフォルトで実際の精度 (コンピュータ ハードウェアとオペレーティング システムによって決定される) になります。精度が指定されていない場合、DECIMAL はデフォルトで (10, 0) になります。 。
固定小数点数に対する浮動小数点数の利点は、長さが確実な場合により広い範囲を表現できることですが、欠点は、精度の問題が発生する可能性があることです。
最後に、強調しておきます: MySQL では、固定小数点数は文字列の形式で保存されます。精度要件が比較的高い場合 (通貨、科学データなど)、DECIMAL を使用する方がよいでしょう。浮動小数点数は、減算や比較演算を実行するときに問題が発生しやすいため、浮動小数点数を使用する場合は注意し、浮動小数点の比較を避ける必要があります。
以上がmysqlの数値型とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。