Maison > Article > base de données > Explication détaillée des types de données dans MySQL
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 :
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 :
À 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 :
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!