Maison  >  Article  >  base de données  >  Explication détaillée des types de données dans MySQL

Explication détaillée des types de données dans MySQL

Guanhui
Guanhuiavant
2020-05-08 11:17:042988parcourir

Type numérique

Type entier de 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 大整数


Type de nombre à virgule flottante MySQL

类型 占用的储存空间 (单位) 绝对值最小非 0 值 绝对值最大非 0 值 定义
FLAOT 4 ±1.175494351E-38 ±3.402823466E+38 单精度浮点数
DOUBLE 8 ±2.2250738585072014E-308 ±1.7976931348623157E+308 双精度浮点数


Prenez le type de nombre à virgule flottante simple précision FLOAT comme type exemple. Il en a quatre. La structure des octets est la suivante :

Explication détaillée des types de données dans MySQL

Définir le nombre maximum de chiffres et de décimales

Quand en définissant le type à virgule flottante, vous pouvez également suivre FLOAT ou DOUBLE avec deux paramètres, comme suit

FLOAT(M, D)
DOUBLE(M, D)

M représente le nombre maximum de chiffres décimaux significatifs requis pour la décimale

D représente le nombre décimal après la virgule décimale Nombre de nombres

类型 取值范围
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

Lorsque D est le même, plus M est grand, plus la plage de valeurs de ce type est grande, lorsque M est le même, plus D est grand ; , plus la plage de valeurs de ce type est petite.

La plage de valeurs de M est de 1 à 255, la plage de valeurs de D est de 0 à 30 et la valeur de D ne doit pas être supérieure à M. M et D sont facultatifs. Si nous les omettons, leurs valeurs sont stockées en fonction de la valeur maximale supportée par la machine.

Type de nombre à virgule fixe MySQL

Étant donné que l'utilisation de nombres à virgule flottante pour représenter des décimales peut être inexacte, dans certains cas, nous devons nous assurer que la décimale est exacte, donc MySQL propose un type de données appelé nombre à virgule fixe, qui est également un moyen de stocker des décimales.

类型 占用的储存空间 (单位:字节) 取值范围
DECLMAL 取决于 M 和 D 取决于 M 和 D

Espace de stockage

Prenons DECLMAL (12, 4) comme exemple

Déterminez d'abord que le nombre maximum de chiffres décimaux qui doivent être stockés pour l'entier à gauche du point décimal est 12, et le point décimal Le nombre de chiffres décimaux qui doivent être stockés pour l'entier de droite est 4, comme le montre la figure :

Explication détaillée des types de données dans MySQL

À partir de la position du point décimal, chaque entier est divisé en 1 tous les 9 chiffres décimaux, l'effet est le suivant :

Explication détaillée des types de données dans MySQL

Pour chaque nombre décimal dans le groupe, convertissez-le en nombre binaire pour le stockage. En fonction du nombre de chiffres décimaux contenus dans le groupe, la taille de l'espace de stockage requis est également différente, voir le tableau suivant pour plus de détails :

组中包含的十进制位数 占用的储存空间 单位 (字节)
1 或 2 1
3 或 4 2
5 或 6 3
7 或 8 4

La plage. de M est compris entre 1 et 65, la plage de D est comprise entre 0 et 30 et la valeur de D ne peut pas dépasser M.

Tutoriel recommandé : "Tutoriel MySQL"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer