Heim >Datenbank >MySQL-Tutorial >Detaillierte Erläuterung der Datentypen in MySQL
Numerischer Typ
Integer-Typ von MySQL
类型 | 占用的储存空间 (单位) | 无符号的取值范围 | 有符合的取值范围 | 定义 |
---|---|---|---|---|
TINYINT | 1 | 0 ~ 2⁸-1 | -2⁷ ~ 2⁷-1 | 非常小的整数 |
SMALLINT | 2 | 0 ~ 2¹⁶-1 | -2¹⁶ ~ 2¹⁶-1 | 小的整数 |
MEDIUMINT | 3 | 0 ~ 2²⁴-1 | -2²⁴ ~ 2²⁴-1 | 中等整数 |
INT | 4 | 0 ~ 2³²-1 | -2³² ~ 2³²-1 | 标准的整数 |
BIGINT | 8 | 0 ~ 2⁶⁴-1 | -2⁶⁴ ~ 2⁶⁴-1 | 大整数 |
MySQLs Gleitkommazahlentyp
类型 | 占用的储存空间 (单位) | 绝对值最小非 0 值 | 绝对值最大非 0 值 | 定义 |
---|---|---|---|---|
FLAOT | 4 | ±1.175494351E-38 | ±3.402823466E+38 | 单精度浮点数 |
DOUBLE | 8 | ±2.2250738585072014E-308 | ±1.7976931348623157E+308 | 双精度浮点数 |
Nehmen Sie den Gleitkommazahlentyp FLOAT mit einfacher Genauigkeit als Beispiel. Es hat vier Bytes. Die Struktur ist wie folgt:
Legen Sie die maximale Anzahl von Ziffern und Dezimalstellen fest
Wann Beim Definieren des Gleitkommatyps können Sie FLOAT oder DOUBLE auch mit zwei Parametern folgen, wie folgt:
FLOAT(M, D) DOUBLE(M, D)
M stellt die maximale Anzahl signifikanter Dezimalstellen dar, die für die Dezimalzahl erforderlich sind
D stellt die Dezimalzahl dar nach dem Dezimalpunkt der Dezimalzahl
类型 | 取值范围 |
---|---|
FLOAT(4, 0) | -9999 ~ 9999 |
FLOAT(4, 2) | -99.96 ~ 99.99 |
FLOAT(4, 1) | -999.9 ~ 999.9 |
FLOAT(5, 1) | -9999.9 ~ 9999.9 |
FLOAT(6, 1) | -99999.9 ~ 99999.9 |
Wenn D gleich ist, ist M umso größer, je größer der Wertebereich dieses Typs ist. Wenn M gleich ist, ist D umso größer , desto größer ist der Wertebereich dieses Typs.
Der Wertebereich von M liegt zwischen 1 und 255, der Wertebereich von D zwischen 0 und 30 und der Wert von D darf nicht größer als M sein. M und D sind optional. Wenn wir sie weglassen, werden ihre Werte entsprechend dem von der Maschine unterstützten Maximalwert gespeichert.
MySQL-Festkommazahlentyp
Da die Verwendung von Gleitkommazahlen zur Darstellung von Dezimalzahlen ungenau sein kann, müssen wir in einigen Fällen sicherstellen, dass die Dezimalzahl korrekt ist, so MySQL schlägt einen Datentyp namens Festkommazahl vor, der auch eine Möglichkeit zum Speichern von Dezimalzahlen darstellt.
类型 | 占用的储存空间 (单位:字节) | 取值范围 |
---|---|---|
DECLMAL | 取决于 M 和 D | 取决于 M 和 D |
Speicherplatz
Nehmen Sie DECLMAL (12, 4) als Beispiel
Bestimmen Sie zunächst die maximale Anzahl von Dezimalstellen, die für die Ganzzahl gespeichert werden müssen links vom Dezimalpunkt ist 12, und der Dezimalpunkt Die Anzahl der Dezimalstellen, die für die Ganzzahl rechts gespeichert werden müssen, beträgt 4, wie in der Abbildung gezeigt:
Ausgehend von der Dezimalpunktposition wird jede Ganzzahl alle 9 Dezimalstellen in eine Gruppe unterteilt. Der Effekt ist wie folgt:
Für die Dezimalzahlen in jeder Gruppe Gruppe, konvertieren Sie sie zur Speicherung in Binärzahlen. Abhängig von der Anzahl der in der Gruppe enthaltenen Dezimalstellen ist auch die erforderliche Speicherplatzgröße unterschiedlich. Einzelheiten finden Sie in der folgenden Tabelle:
组中包含的十进制位数 | 占用的储存空间 单位 (字节) |
---|---|
1 或 2 | 1 |
3 或 4 | 2 |
5 或 6 | 3 |
7 或 8 | 4 |
Der Bereich von M liegt zwischen 1 und 65, der Bereich von D liegt zwischen 0 und 30 und der Wert von D darf M nicht überschreiten.
Empfohlenes Tutorial: „MySQL-Tutorial“
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Datentypen in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!