MariaDBでINT4データ型を徹底解説!用途、利点、代替方法まで網羅


  • 4バイト
    データベース内に4バイトの領域を占有します。
  • 符号付き
    -2147483648から2147483647までの範囲の整数を格納できます。

INT4と他の整数型との比較

データ型許容範囲バイト数用途
TINYINT-128から1271極めて小さな整数值
SMALLINT-32768から327672小さな整数值
INT4 (INT)-2147483648から21474836474一般的な整数值
BIGINT-9223372036854775808から92233720368547758078非常に大きな整数值

INT4の使用方法

INT4データ型は、テーブルの作成時に列のデータ型として宣言することで使用できます。

CREATE TABLE example_table (
  id INT4 PRIMARY KEY,
  name VARCHAR(255),
  price DECIMAL(10,2)
);

この例では、id 列はINT4型で宣言されています。これは、この列が-2147483648から2147483647までの範囲の整数を格納できることを意味します。

INT4の使用例

INT4データ型は、様々な状況で使用することができます。以下に、一般的な例をいくつか紹介します。

  • カウントやフラグなどの論理値の格納
  • 年齢、人口、売上などの整数值の格納
  • 商品IDや顧客IDなどの固有識別子の格納
  • 小数点を含む数値を格納するには、INT4データ型は適していません。その場合は、DECIMALやFLOATなどのデータ型を使用する必要があります。
  • 非常に大きな整数值を格納する必要がある場合は、INT4よりもBIGINTデータ型を使用する方が適しています。


CREATE TABLE customers (
  id INT4 PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  age INT4 NOT NULL,
  email VARCHAR(255) UNIQUE NOT NULL
);

INSERT INTO customers (name, age, email)
VALUES ('John Doe', 30, '[email protected]'),
      ('Jane Doe', 25, '[email protected]'),
      ('Peter Jones', 40, '[email protected]');

このコードは、customersという名前のテーブルを作成し、3つの列を定義します。

  • email: 必須でユニークなVARCHAR(255)型
  • age: 必須のINT4型
  • name: 必須のVARCHAR(255)型
  • id: 主キーであり、自動的にインクリメントされるINT4型

その後、INSERTステートメントを使用して、3つのレコードをテーブルに挿入します。

データの選択

SELECT id, name, age, email
FROM customers;

このコードは、customersテーブルからすべての列のすべてのレコードを選択します。結果は次のようになります。

id | name       | age | email               |
----+------------+------+----------------------+
1  | John Doe    | 30   | [email protected] |
2  | Jane Doe    | 25   | [email protected] |
3  | Peter Jones | 40   | [email protected] |

特定の条件でデータを選択

SELECT name, age
FROM customers
WHERE age > 30;

このコードは、ageが30より大きいすべてのレコードのnameage列を選択します。結果は次のようになります。

name       | age |
------------+------+
John Doe    | 30   |
Peter Jones | 40   |

データの更新

UPDATE customers
SET age = age + 1
WHERE id = 1;

このコードは、idが1のレコードのage列を1増やします。

データの削除

DELETE FROM customers
WHERE email = '[email protected]';

このコードは、emailが'[email protected]'のレコードを削除します。



代替データ型を選択する際の考慮事項

  • パフォーマンス
    特定のデータ型は、他のデータ型よりもパフォーマンス上の利点がある場合があります。パフォーマンスが重要な場合は、適切なデータ型を選択することが重要です。
  • 必要な精度
    特定のアプリケーションでは、特定の精度の整数が必要になる場合があります。そのような場合は、適切なサイズとスケールのDECIMALデータ型を選択する必要があります。
  • 小数点を含む値を格納する必要があるかどうか
    INT4は整数のみを格納できます。小数点を含む値を格納する必要がある場合は、DECIMALやFLOATデータ型を使用する必要があります。
  • 格納する必要がある整数の大きさ
    INT4は-2147483648から2147483647までの範囲の整数を格納できます。より大きな整数を格納する必要がある場合は、BIGINTデータ型を使用する必要があります。

INT4の代替となるデータ型

  • TINYINT
    -128から127までの範囲の整数を格納できます。極めて小さな整数を格納する必要がある場合に使用します。
  • SMALLINT
    -32768から32767までの範囲の整数を格納できます。非常に小さな整数を格納する必要がある場合に使用します。
  • FLOAT
    小数点を含む値を格納できます。浮動小数点形式のみで使用できます。
  • DECIMAL
    小数点を含む値を格納できます。固定小数点と浮動小数点の両方の形式で使用できます。
  • BIGINT
    -9223372036854775808から9223372036854775807までの範囲の整数を格納できます。INT4よりも大きな整数を格納する必要がある場合に使用します。
  • アプリケーションの要件: 使用しているアプリケーションの要件によっては、特定のデータ型が必要になる場合があります。
  • 既存のデータベーススキーマとの互換性: すでに既存のデータベーススキーマがある場合は、そのスキーマで使用されているデータ型と互換性のあるデータ型を選択する必要があります。