MySQL データ型と範囲の使用法のリスト
1. MySQLのデータ型
主に次の 5 つのカテゴリが含まれます。
整数型: BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、INT、BIG INT
浮動小数点型: FLOAT、DOUBLE、DECIMAL
文字列型: CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB
日付タイプ: 日付、日付時刻、タイムスタンプ、時刻、年
その他のデータ型: BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection など。
2 番目に、MYSQL データ型の長さと範囲
データ型とバイト長のリスト:
データの種類 | バイト長 | 範囲または使用法 |
---|---|---|
少し | 1 | 符号なし [0,255]、符号付き [-128,127]、Tianyuan Blog 備考: BIT と BOOL は両方とも 1 バイトを占有します |
TinyInt | 1 | 整数 [0,255] |
SmallInt | 2 | 署名なし [0,65535]、署名あり [-32768,32767] |
MediumInt | 3 | 符号なし[0,2 24-1]、符号付き[-2 23,2^23-1]] |
内部 | 4 | 符号なし [0,2 32-1]、符号付き [-2 31,2^31-1] |
BigInt | 8 | 符号なし [0,2 64-1]、符号付き [-2 63 ,2^63 -1] |
フロート(M,D) | 4 | 単精度浮動小数点数。Tianyuan ブログでは、ここでの D は精度であり、D<=24 の場合はデフォルトの FLOAT になり、D>24 の場合は自動的に DOUBLE 型に変換されると注意しています。 |
ダブル(中・日) | 8 | 倍精度浮動小数点。 |
10進数(M,D) | M+1 または M+2 | 非パック浮動小数点数は、FLOAT および DOUBLE と同様に使用されます。Tianyuan ブログでは、ASP で Decimal データ型が使用されている場合、データベースから直接読み取られた Decimal データは、演算を実行する前に Float または Double に変換する必要がある可能性があることを注意しています。 |
日付 | 3 | YYYY-MM-DD の形式で表示されます。例: 2009-07-19 |
日付時刻 | 8 | YYYY-MM-DD HH:MM:SS の形式で表示されます。例: 2009-07-19 11:22:30 |
タイムスタンプ | 4 | YYYY-MM-DD の形式で表示されます。例: 2009-07-19 |
時間 | 3 | HH:MM:SSの形式で表示されます。例: 11:22:30 |
年 | 1 | YYYY形式で表示されます。例: 2009 |
魅力) | M | 固定長の文字列。 |
VarChar(M) | M | 可変長文字列、M<=255 が必要です |
バイナリ(M) | M | Char に似たバイナリ ストレージ。固定長が不十分な場合に 0 を挿入するのが特徴です。 |
VarBinary(M) | M | VarChar に似た可変長バイナリ ストレージ。固定長と非埋め込み 0 が特徴です。 |
小さなテキスト | 最大:255 | 大文字小文字を区別しません |
文章 | 最大:64K | 大文字小文字を区別しません |
中程度のテキスト | 最大:16M | 大文字小文字を区別しません |
長いテキスト | 最大:4G | 大文字小文字を区別しません |
タイニーブロブ | 最大:255 | 大文字と小文字を区別 |
ブロブ | 最大:64K | 大文字と小文字を区別 |
中ブロブ | 最大:16M | 大文字と小文字を区別 |
ロングブロブ | 最大:4G | 大文字と小文字を区別 |
列挙型 | 1 または 2 | 最大 65535 個の異なる列挙値 |
セット | 8まで | 最大 64 個の異なる値 |
ジオメトリ | ||
ポイント | ||
ラインストリング | ||
ポリゴン | ||
マルチポイント | ||
複数行文字列 | ||
マルチポリゴン | ||
ジオメトリコレクション |
3. 使い方のご提案
1. データ型を指定する場合、一般に小さい原則が採用されます。たとえば、TINY INT が使用できる場合は INT を使用しない方がよく、FLOAT 型が使用できる場合は DOUBLE 型を使用する必要はありません。これにより、特に大量のデータのテスト条件下での MYSQL の操作効率が大幅に向上します。
2. データテーブルはあまり複雑に設計する必要はありませんが、機能モジュールを区別した方が後々のメンテナンスに便利です データテーブルがごちゃ混ぜになっている場合は注意してください
3. データテーブルとフィールドの命名も科学です
4. データテーブル構造を設計する前に、それがあなたの部屋であると想像してください。おそらく結果はより合理的で効率的になるでしょう。
5. データベースの最終設計結果は、効率とスケーラビリティの間で妥協する必要があり、どちらか一方を優先するのは不適切です。