Heim >Datenbank >MySQL-Tutorial >Detaillierte Erläuterung der Datentypen in MySQL

Detaillierte Erläuterung der Datentypen in MySQL

Guanhui
Guanhuinach vorne
2020-05-08 11:17:043040Durchsuche

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:

Detaillierte Erläuterung der Datentypen in MySQL

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:

Detaillierte Erläuterung der Datentypen in MySQL

Ausgehend von der Dezimalpunktposition wird jede Ganzzahl alle 9 Dezimalstellen in eine Gruppe unterteilt. Der Effekt ist wie folgt:

Detaillierte Erläuterung der Datentypen in MySQL

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen