MySQL における tinyint と int の違いの詳細な説明

MySQL における tinyint と int の違いの詳細な説明

質問: int(1) と tinyint(1) の違いは何ですか?

このような設計では、いずれにしても int(1) を書くことはありません。

確認したところ、MySQLでストレージタイプを設定すると、ストレージは固定長、つまりint(1) 和int(4) 在硬盤中所占的字節數都是一樣的がわかりました。

int 型は 4 バイトを占め、tinyint 型は 1 バイトを占めることが分かっています。 int(1) と int(4) は、長さと保存方法の点では同じです。唯一の違いは表示される長さです。ただし、パラメータを設定する必要があります。列制定了zerofill 就會用0填充顯示。この場合、int(4) は 0002 として表示されます。

int(1)和tinyint(4) 相比,肯定int 大

数値型の後の括弧内の数字は長さではなく表示幅を示しており、varchar や char の後の数字の意味とは異なることに注意してください。

つまり不管int 后面的數字是多少,它存儲的范圍始終是-2^31 到2^31 - 1

要約すると、整数データ型の括弧内にいくつの数字があっても、占有されるストレージスペースは同じです。

tinyint 1バイト smallint 2バイト MEDIUMINT 3バイト

明らかに、データベースを設計する際にはint(1) 和tinyint(1)選擇tinyint(1)占的儲存空間越少越好,當然要夠用才行。このような1桁のフィールドを保存するには、tinyint(1)を使用する方が適切です。

要約:

  • 1. 型を指定した後は固定長で保存されます。int(1)とint(4)は長さと保存方法が同じです。 MySQLでは、int(1)とint(4)の差は表示される長さですが、パラメータを設定する必要があります。列にzerofillが指定されている場合は、0で埋められます。たとえば、2 int(3)が指定されている場合は、002と表示されます。
  • 2.int は保存に 4 バイト、tinyint は保存に 1 バイトを占有し、保存長によって、表す数値の範囲が決まります。 int によって表される数値の範囲は、-2^31 (-2,147,483,648) から 2^31 – 1 (2,147,483,647) までの整数データ (すべての数値) です。 tinyint は 0 から 255 までの数値を表します。
  • 3. Tinyint(1) は tinyint(3) と違いはありません。123 を格納できます。ただし、tinyint(3) がゼロフィルされている場合、値 12 が挿入されると、012 が格納されます。ゼロフィルは自動的に左側にゼロを埋め込むため、表示長が制限されます。

上記の要約は少し乱雑です。以下に簡単な要約を示します。

tinyint(1) と tinyint(3) の間に違いはありません。どちらも 1 バイトを占有し、同じストレージ範囲を持ちます。

tinyint(3) zerofill 、挿入されたデータが3桁未満の場合は、表示長を制限するために左邊自動補零

Int(1)とtinyint(1)で十分な場合は、占字節少、節省空間ため優先選擇tinyint(1)

tinyint 1 バイト、smallint 2 バイト、MEDIUMINT 3 バイト、int 4 バイト、BIGINT 8 バイト。

ただし、varchar(5) の 5 は、値に関係なく (中国語、英語、数字などに関係なく)、保存できる文字数を制限します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL の int、bigint、smallint、tinyint の違いについて詳しく紹介します。
  • mysqlのTINYINTの値の範囲
  • MySQLの整数データ型tinyintの詳細な説明
  • MySQLにおけるTinyint(1)とTinyint(4)の違いの詳細な分析

<<:  Rancher のデプロイメントと K8S クラスターのインポートに関する問題

>>:  TypeScriptの基本型の詳細な説明

推薦する

Echart Bar の 2 列チャート スタイルの最も完全な詳細な説明

目次序文インストールと設定1. Echartsをインストールする2. Echartsをグローバルに導...

Ubuntu Dockerのインストールと使い方

目次1. 公式インストールスクリプトを使用した自動インストール手動インストール古いバージョンをアンイ...

Dockerイメージの作成、アップロード、プル、デプロイを理解するための記事

目次1. 画像1. 鏡とは何ですか? 2. 画像の構成と目的(1) Dockerファイル(2)スクラ...

JavaScriptの構文とコード構造に関する深い理解

目次概要機能性と読みやすさ空白括弧セミコロンインデント身元大文字と小文字を区別予約キーワード概要すべ...

SQL文におけるGROUP BYとHAVINGの使用に関する簡単な説明

GROUP BY 句と HAVING 句を紹介する前に、まず SQL 言語の特殊な関数である集計関数...

Linux で利用可能なネットワーク インターフェイスを表示する方法

序文Linux システムをインストールした後の最も一般的なタスクは、ネットワーク構成です。もちろん、...

モバイルでのHTML5経由のファイルアップロード

ほとんどの場合、PC でファイルをアップロードするにはプラグインが使用され、フラッシュが導入されても...

MySQL チュートリアル: サブクエリの例の詳細な説明

目次1. サブクエリとは何ですか? 2. サブクエリはどこに表示されますか? 3. Whereサブク...

Vueプロジェクトがグラフィック検証コードを実装

この記事の例では、グラフィック検証コードを実装するためのVueプロジェクトの具体的なコードを参考まで...

Javascript 非同期プログラミング: Promise を本当に理解していますか?

目次序文基本的な使い方文法エラー処理プロミスチェーン呼び出し非同期と待機よく使われる方法1. Pro...

意外と知らないJSのループ速度テストのいろいろを徹底解説

目次序文1. forループ2. whileループとdo-whileループ3. forEach、map...

JavaScriptを使って動的にテーブルを生成するケースの詳しい説明

目次序文実装のアイデア実装コード成果を達成する序文これは、テーブルを動的に追加する例です。[追加] ...

WeChatミニプログラムページで値を返す4つの解決策のまとめ

目次使用シナリオ解決1. globalDataを使用して実装する2. ローカルキャッシュストレージを...

Linux システムによって報告される tcp_mark_head_lost エラーの処理方法

問題の説明最近、ホストから次のカーネル情報が報告されました。 7月8日 10:47:42 cztes...

標準的なHTMLの書き方は、Dreamweaverによって自動的に生成されるものとは異なります。

コードをコピーコードは次のとおりです。 <!--doctype はドキュメント タイプ htm...