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

推薦する

MySQL Binlog ログ処理ツールの比較分析

目次運河マクスウェルデータバスAlibaba Cloud のデータ転送サービス (DTS)運河ポジシ...

インタビュアーはCSSで固定アスペクト比を実現する方法を尋ねました

この質問に関連するニーズはまだないかもしれませんし、面接でこの質問をされたことがないかもしれませんが...

VMware仮想マシンにLinux(CentOS)をインストールするための詳細な構成手順

CentOS7をダウンロード私がダウンロードしたイメージはCentOS-7-x86_64-DVD-1...

vue3 のストアを使用してスクロール位置を記録する例

目次全体的な効果コンテナのスクロールイベントをリッスンするストア内の構成ページが戻るときのスクロール...

MySQL 最適化: キャッシュ最適化

何人かのブロガーが私の記事を評価してくれたのは嬉しいです。マークと知り合ってからは、私は彼をフォロー...

Reactプロジェクトの新規作成からデプロイまでの実装例

新しいプロジェクトを始めるこの記事では主に、新規プロジェクトを0から1まで取り組むプロセスを記録し、...

スライド階段効果を実現するjQuery

この記事では、階段スライド効果を実現するためのjQueryの具体的なコードを参考までに紹介します。具...

MySQLデータベースの管理者パスワードを忘れた場合の解決策

1. コマンド mysqld --skip-grant-tables を入力します (前提条件: m...

Reactの親コンポーネントと子コンポーネント間のデータ転送の詳細な説明

目次1. 親コンポーネントが子コンポーネントにデータを渡す1.1. 親コンポーネントコード1.2. ...

Linux manコマンドの具体的な使い方

01. コマンドの概要Linux には充実したヘルプ マニュアルが用意されています。コマンドのパラメ...

Dockerを使用してLaravelおよびVueプロジェクトの開発環境を構築する詳細な説明

この記事では、Docker で構築された Laravel および Vue プロジェクトの開発環境を紹...

select count() と select count(1) の違いと実行方法

Count(*) または Count(1) または Count([column]) は、おそらく S...

HTML テーブルタグチュートリアル (33): セルの垂直配置属性 VALIGN

垂直方向では、セルの配置を上、中央、下に設定できます。基本的な構文<TD VLIGN=&quo...

統計量に対するmySql SQLクエリ操作

余計なことは言わないで、コードだけ見てみましょう〜 プロジェクト番号を選択、 sum(case wh...