MySQL - データ型

提供:MochiuWiki : SUSE, EC, PCB
2024年11月10日 (日) 15:42時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == <u>※注意</u><br> <u>各データ型を選択する場合において、以下に示す事柄を考慮すること。</u><br> * ストレージ効率 *: 必要最小限のサイズを選択する。 * パフォーマンス *: 検索や演算の頻度を考慮する。 <br><br> == 数値型 == データの正確性において、数値型では、DECIMAL型とFLOAT / DOUBLE型の選択が重要となる。<br> <br> ==== 整数型 ==== * TINYINT *: -…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要

※注意
各データ型を選択する場合において、以下に示す事柄を考慮すること。

  • ストレージ効率
    必要最小限のサイズを選択する。
  • パフォーマンス
    検索や演算の頻度を考慮する。



数値型

データの正確性において、数値型では、DECIMAL型とFLOAT / DOUBLE型の選択が重要となる。

整数型

  • TINYINT
    -128〜127 (1バイト)
  • UNSIGNED TINYINT
    0〜255
  • SMALLINT
    -32768〜32767 (2バイト)
  • UNSIGNED SMALLINT
    0〜65535
  • MEDIUMINT
    -8388608〜8388607 (3バイト)
  • UNSIGNED MEDIUMINT
    0〜16777215
  • INT / INTEGER
    -2147483648〜2147483647 (4バイト)
  • UNSIGNED INT / UNSIGNED INTEGER
    0〜4294967295
  • BIGINT
    -9223372036854775808〜9223372036854775807 (8バイト)
  • UNSIGNED BIGINT
    0〜18446744073709551615


小数型

  • DECIMAL(M,D) / NUMERIC(M,D)
    正確な小数を扱う
    • M
      全体の桁数 (最大65)
    • D
      小数点以下の桁数
  • FLOAT
    単精度浮動小数点数 (4バイト)
    精度は約7桁
  • DOUBLE
    倍精度浮動小数点数 (8バイト)
    精度は約15桁



文字列型

文字列型では、適切な文字セットの選択が必要となる。

固定長

  • CHAR(N)
    固定長文字列 (最大255文字)
    指定した長さより短い文字列は空白で埋められる。
  • 可変長
  • VARCHAR(N)
    可変長文字列 (最大65,535文字)
    実際のデータ長だけを使用。
  • TINYTEXT
    最大255文字 (1バイト + データ長)
  • TEXT
    最大65535文字 (2バイト + データ長)
  • MEDIUMTEXT
    最大16777215文字 (3バイト + データ長)
  • LONGTEXT
    最大4294967295文字 (4バイト + データ長)



バイナリ型

  • BINARY(N)
    固定長バイナリ文字列
  • VARBINARY(N)
    可変長バイナリ文字列
  • TINYBLOB
    最大255バイト
  • BLOB
    最大65535バイト
  • MEDIUMBLOB
    最大16777215バイト
  • LONGBLOB
    最大4294967295バイト



日付・時間型

  • DATE
    日付 (YYYY-MM-DD形式)
    範囲 : 1000-01-01 〜 9999-12-31
  • TIME
    時間 (HH:MM:SS形式)
    範囲 : -838:59:59 〜 838:59:59
  • DATETIME
    日付と時間 (YYYY-MM-DD HH:MM:SS形式)
    範囲 : 1000-01-01 00:00:00 〜 9999-12-31 23:59:59
  • TIMESTAMP
    タイムスタンプ
    範囲 : 1970-01-01 00:00:01 UTC 〜 2038-01-19 03:14:07 UTC
  • YEAR
    年 (4桁)
    範囲 : 1901〜2155



特殊型

  • ENUM
    列挙型
    定義された値の中から1つだけ選択できる。
    最大65535個の値を定義できる。
  • SET
    複数の値を選択可能な列挙型
    最大64個の値を定義できる。
  • JSON
    JSON形式のデータを格納できる。
    JSONデータの検索や操作が可能である。



空間データ型

  • GEOMETRY
    あらゆる種類の空間データ
  • POINT
    座標点
  • LINESTRING
    線データ
  • POLYGON
    多角形データ
  • MULTIPOINT
    複数の点データ
  • MULTILINESTRING
    複数の線データ
  • MULTIPOLYGON
    複数の多角形データ
  • GEOMETRYCOLLECTION
    異なる種類の空間データの集合