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
: 符号なし整数値、デフォルト値は0age
: 整数値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
整数値を文字列として格納する場合。例えば、郵便番号や電話番号など、形式が決まっている数値を格納する場合に使用できます。
最適なデータ型の選択
最適なデータ型は、以下の要素によって決まります。
- パフォーマンス
特定のデータ型は、特定の操作においてパフォーマンス上の利点を持つ場合があります。 - ストレージ
データ型によって必要なストレージ容量が異なります。 - 精度
必要とされる精度を考慮する必要があります。例えば、小数点以下の桁数が必要かどうか。 - 格納する値の範囲
想定される最小値と最大値を考慮する必要があります。