序文
もともと私は、MySQLの公式は非常に詳細に説明するので、このブログを書く必要を感じません。しかし、最近、いくつかの問題は、単に公式プレゼンテーションを見ていない設計テーブルで解決することができ遭遇し、そうでは、ここで誰もが見てみたいと思います。
データの種類
整数
まず、各整数型のMySQL 5.7の公式与えられた必要性のためのストレージ容量と値の範囲を見てみましょう。
実用的な観点から、ことに留意しなければならない、我々は実際の状況に応じて最も適切なデータ型を選択する必要があります。例えば:
- これは、ブール0と1の列を表し、選択TINYINT(1)で十分ですが、メモリのバイト数を使用している場合は、TINYINTデータ型が不十分に設計されているよりも大きいです。
ほとんどのオブジェクトは、メソッドは、このメモリ領域を解放して終了するプログラムで短命のオブジェクトであるため、Javaへの異なるデータベースとメモリは、例えば、あなたがバイト型を使用できる場所は、問題のないロングタイプを使用します7つのバイトが実際に波が無駄にしないで存在していないと述べました。しかし、データベース・ストレージ・システムとして、宇宙BIGINT 8バイトのデータが本物です。
の形の整数(N)
公式プレゼンテーションのMySQL 5.7を見てください
整数型の場合、Mは、ディスプレイの最大幅です。かかわらず、ディスプレイ255の表示範囲を含む種類の幅の最大幅の値の
したがって、この形式の整数(N)のために、限り、我々は2つのことを理解して:
Nは、バイトの種類と数とは無関係であるどんなに
Nは、直接デジタル表示の全長にわたって無視し、ゼロで不十分、表示幅を示したが、整数の有効な符号なしZEROFILLに設定されています
以下の例は以下のとおりです。
DROP TABLE IF EXISTS test;
CREATE TABLE test (
a INT(5),
b INT(5) UNSIGNED,
c INT(5) UNSIGNED ZEROFILL,
d INT(8) UNSIGNED ZEROFILL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO test VALUES(1,1,1,1111111111);
SELECT * FROM test;