MySQLのINT(整数)型をマスター|使えるオプションも一挙に解説

※本サイトにはプロモーション・広告が含まれています。

(最終更新月:2023年11月)

✔当記事は以下のような方にピッタリです

「MySQLでintの機能を詳しく知りたい」

「MySQLにおけるintの操作方法を学びたい」

「MySQLでintを運用する例が見たい」

✔当記事で得られる知識

  • MySQLにおけるintの基本的な理解
  • MySQLでintの使い方とその適用
  • MySQLでのintの具体的な使用例

当記事では、mysql intの基本的な情報からその使い方、更にはオプションを活用する方法まで、実用例を通じて詳しくご紹介します。

ユーザーの皆様にとって有益な情報を提供できるよう努めますので、ぜひ最後までお読みください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

MySQLの整数型データ:基本理解

こちらでは、MySQLの整数型データについてお伝えしていきます。

整数型データの正確な理解は、効果的なデータベース設計や効率的なデータベース操作に繋がるでしょう。

  • 整数(int)型とは
  • 一覧:MySQLの整数型データ型
  • データ型とデータサイズ:INTとtinyintの違い

整数(int)型とは

MySQLのINT型は、整数を格納する際の主要なデータ型のひとつです。

そのオプション、とくにZEROFILLやUNSIGNEDは、特定の要件に合わせてデータの表示や格納をカスタマイズするのに役立ちます

これよりさまざまなオプションを含めて学んでいきましょう。

一覧:MySQLの整数型データ型

MySQLでは、整数を扱うためのいくつかのデータ型が提供されています。

代表的なものとしては、以下のとおり。

  • TINYINT
  • SMALLINT
  • MEDIUMINT
  • INT
  • BIGINT

これらの違いは、扱えるデータの範囲やサイズにあります。

TINYINT: -128から127まで
INT: -2147483648から2147483647まで

データ型とデータサイズ:INTとtinyintの違い

INTとTINYINTの主な違いは、格納できる値の範囲とストレージのサイズにあります。

具体的には、INTは4バイトのストレージサイズを持ち、TINYINTは1バイトです。

CREATE TABLE example (
    sample_int INT,
    sample_tinyint TINYINT
);

INTとそのオプション:詳細解説

こちらでINTとそのオプションについて深く探っていきます。

正確なオプションの使用は、データベースの柔軟性や性能を向上させる鍵です。

  • 整数型のオプション – 符号なし(UNSIGNED)とは?
  • 整数型のオプション – ZEROFILLとは?
  • 最大表示幅定義:INT(11)のカッコ内数値の意味とは

整数型のオプション – 符号なし(UNSIGNED)とは?

符号なし(UNSIGNED)オプションを指定することで、整数型カラムは正の値のみを格納できます。

これにより、同じバイト数で2倍の正の整数範囲を取得できます。

CREATE TABLE unsigned_example (
    unsigned_int INT UNSIGNED
);

整数型のオプション – ZEROFILLとは?

ZEROFILLは、数値が格納されているフィールドの左側をゼロで埋めるオプション

特定のフォーマットや幅で数値を表示する場合に便利です。

CREATE TABLE zerofill_example (
    zerofill_int INT(5) ZEROFILL
);

最大表示幅定義:INT(11)のカッコ内数値の意味とは

INT(11)のようなカッコ内の数値は、最大表示幅を指定するもの。

ZEROFILLオプションと組み合わせて使用することが一般的です。

実践編:データ操作と限界値

こちらでは、INT型の実際の操作や限界値に関する実験結果を取り上げます。

これにより、実際のデータベース操作の際の注意点や挙動を確認できるでしょう。

  • テーブル生成:ZEROFILL有無での比較
  • テーブル生成:INT()内数値を変更して実験
  • 挿入操作:INT()内指定数値を超える数値の挿入とその結果

テーブル生成:ZEROFILL有無での比較

ZEROFILLオプションを指定した場合としなかった場合のデータの表示方法を比較する実験をおこないました。

CREATE TABLE zerofill_comparison (
    normal_int INT(5),
    zerofill_int INT(5) ZEROFILL
);
INSERT INTO zerofill_comparison VALUES (123, 123);

この結果、normal_int123と表示されるのに対し、zerofill_int00123と表示されました。

テーブル生成:INT()内数値を変更して実験

INT()内の数値を変更して、それがどのようにデータベース内での表示に影響するかを実験しました。

CREATE TABLE int_width_comparison (
    int_3 INT(3) ZEROFILL,
    int_5 INT(5) ZEROFILL
);
INSERT INTO int_width_comparison VALUES (45, 45);

int_3045と表示され、int_500045と表示されました。

挿入操作:INT()内指定数値を超える数値の挿入とその結果

INT(3)のように指定された表示幅よりも大きな数値をINSERTするとどうなるかを実験しました。

CREATE TABLE int_overflow (
    int_column INT(3)
);
INSERT INTO int_overflow VALUES (1234);

この挿入操作はエラーを返さずに実行され、int_columnは1234として正しく保存されました。

これにより、カッコ内の数値はデータの保存容量や格納可能な値の範囲には影響しないことが確認できます。

まとめ

当記事では、MySQLの整数型について学習してきました。

MySQLの整数型データ、特にINT型とその関連オプションの理解は、データベースの設計や操作において極めて重要です。

以下は、この記事の主要ポイントを再確認するための簡単なまとめになります。

  1. 整数型の種類
    MySQLにはさまざまな整数型があり、それぞれ異なるサイズや範囲のデータを格納することができます。
  2. 符号なし(UNSIGNED)オプション
    このオプションを使用すると、マイナスの値を格納することなく、正の範囲を倍に拡大することができます。
  3. ZEROFILLオプション
    指定された幅に合わせてゼロで埋められることで、整数値の見た目を揃えることができます。
  4. 最大表示幅
    INTの後のカッコ内の数値は、ZEROFILLオプションが有効な場合のみ表示幅を示すもので、実際の格納容量や範囲には影響しません。

データベースを操作する際、これらの概念やオプションを適切に使用することで、より柔軟で効率的なデータ管理が可能です。

データベースの設計や日常的な操作に関する疑問や課題が生じた際は、当記事や関連するリソースを参照することで、問題の解決や知識の深化に役立てることができるでしょう。

タイトルとURLをコピーしました