異なるデータ型を選択するためのフィールドのいくつかを伴う製品データシート、デザイン、最近の統合のデザインホテル
基本的な考え方:
1)、文字はASCIIコードで、バイト(バイトは異なる文字によって占有同じではない)の数に等しい、数、コードGBK下バイト[]、中国語の文字の代わりに文字()を占め2バイト文字(下位UTF8エンコーディング)3つのバイト
2)バージョン4.0では、[MYSQL]と次の6つの文字、3バイト文字(下位UTF8エンコード)を格納することができる:VARCHAR(20)は20のバイトを指し
3)、MYSQL] [バージョン5.0以上:20文字または20桁または文字20を格納することができる:VARCHAR(20)が20個の文字を指し
1、CHARとVARCHAR:
両者の差:チャーVARCHAR固定長タイプ、すなわち可変長の種類、ある列内のデータのCHAR(M)タイプMが少ない一定の長さ以上である場合、それぞれの値は、Mバイトを占めMySQLはその右側にスペースで文字を占めるようになります。VARCHAR(M)列のデータの種類に(検索操作における空白文字アウトこれらの充填が除去される)、各値は(その長さを記録するためだけちょうど十分なバイト+ 1つのバイトを占め即ち、L + 1バイトの長さの合計)
2、TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、ビット
タイプ | バイト | 最小値(符号付き/符号なし) | 最大値(符号付き/符号なし) |
TINYINT | 1 | -128 / 0 | 256分の127 |
SMALLINT | 2 | -32768 / 0 | 65536分の32767 |
MEDIUMINT | 3 | -8388608 / 0 | 16777215分の8388607 |
int型 | 4 | -2147483648 / 0 | 4294967295分の2147483647 |
BIGINT | 8 | -9223372036854775808 | 9223372036854775807 |
2つの値を持つデータビットのデータ:0または1であり、一方の長さ。0以外の場合、入力値、システム1はそのまま保存されています。このデータ型は、多くの場合、真または偽の、ない他のバイナリの選択肢を使用、論理変数として使用されています。
INT(4)及びINT(11)の間の差に2-1
MySQLデータベースはint(4)重要性
CHARとVARCHARフィールドのこれらのタイプでは、あなたがvarchar型を設定した場合、(4)、最大値は唯一の4つの文字保存することができます。私を含め多くの人々は、常にその整数int型の長さを保存することができ、また、長さint型のフィールドが関係すると考えています。
しかし、今日はテスト済みであり、通常、ほとんどの私たちのは考えていないようですint型タイプを発見されました。
ZEROFILLゼロパディングは任意の区別なく属性のMySQLフィールド、INT(1)及びINT(11)のために設けられていません。
テストがint(1)及びINT(11)が発見、格納できる最大値は2147483647です。21億。
しかし、フィールドZEROFILLプロパティを設定した後、あなたが実際に4294967295に倍増し、最大値を格納することができ、奇妙なことがあります。42億。
ZEROFILLフィールドのプロパティを設定した後、INT(4)ディスプレイ0003、及びINT(11)表示00000000003(int型は、最大11までであることができます)
すなわち、INT(4)であり、この4 int型の整数の長さが、オートコンプリートビット0前方のZEROFILLプロパティ設定を参照していません。
あなたは0を埋めるために必要がない場合でより多くのテストの後、テーブルの建設後の時間は、あなたがもはやint型にフィールドの長さを設定することができないようです。
3、列挙型を使用
著者は、次の申し出に感謝します:
1、varchar型の最大長のMySQLの?https://blog.csdn.net/qq_30336433/article/details/81669957