MariaDBにおけるINTEGERデータ型の概要と応用例


符号付きINTEGER

  • デフォルト
    符号付き
  • 格納できる値の範囲
    -2,147,483,648 ~ 2,147,483,647
  • 型宣言
    INT, INTEGER

符号なしINTEGER

  • 用途
    符号なしの整数が必要な場合 (例えば、ID、カウントなど)
  • 格納できる値の範囲
    0 ~ 4,294,967,295
  • 型宣言
    INT UNSIGNED
  • 符号なし: 整数値が常に0以上の場合、かつ、より大きな値を格納したい場合
  • 符号付き: 整数値が負の値になる可能性がある場合
  • 表示桁数と格納できる値の範囲
    表示桁数は、値の形式やカラム定義に指定された属性によって決まりますが、格納できる値の範囲とは異なります。


テーブルの作成

CREATE TABLE users (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  age INT NOT NULL,
  score INT UNSIGNED DEFAULT 0
);

このコードは、usersという名前のテーブルを作成します。このテーブルには、以下の4つのカラムがあります。

  • score: 符号なし整数値、デフォルト値は0
  • age: 整数値
  • name: 最大255文字の文字列
  • id: 主キーであり、自動的にインクリメントされる整数値

データの挿入

INSERT INTO users (name, age, score) VALUES ('Taro', 30, 50);
INSERT INTO users (name, age, score) VALUES ('Hanako', 25, 70);

このコードは、usersテーブルに2つのレコードを挿入します。

データの取得

SELECT * FROM users;

このコードは、usersテーブルのすべてのレコードを取得します。

データの更新

UPDATE users SET score = score + 10 WHERE id = 1;

このコードは、usersテーブルのidが1であるレコードのscoreカラムの値を10増やします。

DELETE FROM users WHERE age < 20;

このコードは、usersテーブルのageが20未満のレコードを削除します。



  • BIGINT
    非常に大きな整数を格納する場合 (-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807)。人口数や金額など、極めて大きな値を格納するのに適しています。
  • MEDIUMINT
    中程度の整数を格納する場合 (-8,388,608 ~ 8,388,607)。顧客ID や注文番号など、より広い範囲の値を格納するのに適しています。
  • SMALLINT
    やや小さな整数を格納する場合 (-32,768 ~ 32,767)。商品ID やステータスコードなど、ある程度の範囲の値を格納するのに適しています。
  • TINYINT
    非常に小さな整数を格納する場合 (-128 ~ 127)。主にフラグやブール値など少量の情報に適しています。

浮動小数点型

  • FLOAT
    より一般的な浮動小数点型。小数点を含む値を格納する場合に使用できますが、DECIMAL よりも精度が低くなります。
  • DECIMAL
    より高い精度が必要な場合や、小数点を含む値を格納する場合。例えば、財務データや科学データなど。

文字列型

  • CHAR
    固定長の文字列型。整数以外の文字も含む可能性がある場合に使用できます。
  • VARCHAR
    整数値を文字列として格納する場合。例えば、郵便番号や電話番号など、形式が決まっている数値を格納する場合に使用できます。

最適なデータ型の選択

最適なデータ型は、以下の要素によって決まります。

  • パフォーマンス
    特定のデータ型は、特定の操作においてパフォーマンス上の利点を持つ場合があります。
  • ストレージ
    データ型によって必要なストレージ容量が異なります。
  • 精度
    必要とされる精度を考慮する必要があります。例えば、小数点以下の桁数が必要かどうか。
  • 格納する値の範囲
    想定される最小値と最大値を考慮する必要があります。