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の基本型の詳細な説明

推薦する

Vue.jsは音楽プレーヤーを実装します

この記事では、音楽プレーヤーを実装するためのVue.jsの具体的なコードを参考までに共有します。具体...

MySQL マルチバージョン同時実行制御 MVCC の実装

目次MVCCとはMVCC 実装MVCC はファントム リードを解決しますか? MVCCとはMVCC ...

CSSは2つの要素をブレンドする効果(スティッキー効果)を実現します。

数年前、Taobaoのモバイル版の左下隅に面白い丸いボタンがあったことを覚えています。それをクリック...

CSSスタイルとセレクターの使い方

HTML で CSS を使用する 3 つの方法: 1. インラインスタイル: 要素のスタイル属性を通...

ラベルタグを使用してテキストをクリックしてラジオボタンを選択します

<label> タグは、入力要素のラベル (タグ) を定義します。ラベル要素はユーザーに...

MySQL のインデックス障害の一般的なシナリオと回避方法

序文これまでにも、一部の SQL ステートメントを不適切に使用すると MySQL インデックスが失敗...

Dockerコンテナでyumを呼び出すときのエラーの解決方法

dockerfile またはコンテナ内で yum を実行すると、エラーが報告され、ソースが見つかりま...

Dockerコンテナのホスト間マルチネットワークセグメント通信ソリューションの詳細説明

1. マックヴラン前回のブログ投稿で紹介した Docker コンテナのホスト間通信を実現するための ...

Element+vueを使用して開始時間と終了時間の制限を実装する

この記事の例では、Element+vueを使用して開始と終了の時間制限を実装するための具体的なコード...

幅の比率に応じて高さを変えるCSSを実装するいくつかの方法

[解決策1: パディングの実装]原理:要素の padding の値がパーセンテージの場合、このパーセ...

HTML でフォーム入力やその他のテキスト ボックスを読み取り専用にして編集不可にする方法

場合によっては、フォーム内のテキスト ボックスを読み取り専用にして、ユーザーがその中の情報を変更でき...

バックエンドから返される 100,000 個のデータをフロントエンドでより適切に表示するにはどうすればよいですか?

目次予備作業バックエンド構築フロントエンドページダイレクトレンダリングsetTimeout ページン...

コーディングスキルを向上させるためのJavaScriptのヒント

目次1. 一意の値をフィルタリングする2. 短絡評価2.1 シナリオ例3. ブール変換4. 文字列を...

Mysql5.7 のグループ連結関数を使用するときにデータが切り捨てられる問題に対する完璧な解決策

一昨日、本番環境でGROUP_CONCAT関数を使用して選択したデータが切り捨てられ、最大長が102...

Html、sHtml、XHtml の違いのまとめ

たとえば、<u>には終了文字がなく、ブラウザはそれを認識します。 SHTML は Ser...