目录
数字类型:
【常用的数字类型:int(size)=>整数、float(size)=>浮点数、decimal(size)=>十进制】
数据类型 | 描述 |
---|---|
TINYINT(size) | -128 到 127 常规。 0 到 255 无符号*。在括号中规定最 大位数 |
SMALLINT(size) | -32768 到 32767 常规。 0 到 65535 无符号*。在括号中 规定最大位数。 |
MEDIUMINT(size) | -8388608 到 8388607 普通。 0 到 16777215 无符号*。在 括号中规定最大位数。 |
INT(size) | -2147483648 到 2147483647 常规。 0 到 4294967295 无 符号*。在括号中规定最大位数。 |
BIGINT(size) | -9223372036854775808 到 9223372036854775807 常规。 |
FLOAT(size,d) | 带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。 |
DOUBLE(size,d) | 带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。 |
DECIMAL(size,d) | 作为字符串存储的 DOUBLE 类型,允许固定的小数点。 |
TINYINT(size)
-
描述:TINYINT 类型是一个很小的整数。其范围是 -128 到 127(常规),或者 0 到 255(无符号)。括号中的
size
实际上在这个类型上并没有效果,因为 TINYINT 的大小是固定的。 -
示例:
CREATE TABLE small_numbers (
tiny_int_signed TINYINT, -- 常规,范围 -128 到 127
tiny_int_unsigned TINYINT UNSIGNED -- 无符号,范围 0 到 255
);
INSERT INTO small_numbers (tiny_int_signed, tiny_int_unsigned) VALUES (-50, 100);
SMALLINT(size)
-
描述:SMALLINT 是一个较小的整数。其范围是 -32768 到 32767(常规),或者 0 到 65535(无符号)。同样,括号中的
size
在这里并没有效果。 -
示例:
CREATE TABLE medium_numbers (
small_int_signed SMALLINT, -- 常规,范围 -32768 到 32767
small_int_unsigned SMALLINT UNSIGNED -- 无符号,范围 0 到 65535
);
INSERT INTO medium_numbers (small_int_signed, small_int_unsigned) VALUES (-10000, 30000);
MEDIUMINT(size)
-
描述:MEDIUMINT 是一个中等大小的整数。其范围是 -8388608 到 8388607(常规),或者 0 到 16777215(无符号)。
size
在这里同样没有实际影响。 -
示例:
CREATE TABLE large_numbers (
medium_int_signed MEDIUMINT, -- 常规,范围 -8388608 到 8388607
medium_int_unsigned MEDIUMINT UNSIGNED -- 无符号,范围 0 到 16777215
);
INSERT INTO large_numbers (medium_int_signed, medium_int_unsigned) VALUES (-5000000, 10000000);
INT(size)
-
描述:INT 是标准的整数类型。其范围是 -2147483648 到 2147483647(常规),或者 0 到 4294967295(无符号)。
size
在这里主要用于显示宽度,不影响存储范围或大小。 -
示例:
CREATE TABLE standard_numbers (
int_signed INT, -- 常规,范围 -2147483648 到 2147483647
int_unsigned INT UNSIGNED -- 无符号,范围 0 到 4294967295
);
INSERT INTO standard_numbers (int_signed, int_unsigned) VALUES (-1000000000, 2000000000);
BIGINT(size)
-
描述:BIGINT 是一个大整数类型。其范围是 -9223372036854775808 到 9223372036854775807(常规),对于无符号整数则没有对应的无符号类型,因为 BIGINT 已经足够大来覆盖所有正整数。
size
同样主要影响显示宽度。 -
示例:
CREATE TABLE huge_numbers (
big_int_signed BIGINT -- 常规,范围 -9223372036854775808 到 9223372036854775807
);
INSERT INTO huge_numbers (big_int_signed) VALUES (-500000000000000000);
FLOAT(size,d)
-
描述:FLOAT 类型用于存储单精度浮点数。
size
用于指定显示宽度,但通常这不是一个强制性的限制。d
用于指定小数点右侧的最大位数。 -
示例:
CREATE TABLE float_numbers (
float_value FLOAT(10, 2) -- 总共10位,其中小数点后有2位
);
INSERT INTO float_numbers (float_value) VALUES (123.45);
DOUBLE(size,d)
-
描述:DOUBLE 类型用于存储双精度浮点数。与 FLOAT 类似,
size
指定显示宽度,而d
指定小数点后的位数。DOUBLE 类型的精度比 FLOAT 类型的精度高。 -
示例:
CREATE TABLE double_numbers (
double_value DOUBLE(16, 4) -- 总共16位,其中小数点后有4位
);
INSERT INTO double_numbers (double_value) VALUES (1234.5678);
DECIMAL(size,d)
-
描述:DECIMAL 类型用于存储精确的数值,如货币数据。与 FLOAT 和 DOUBLE 不同,DECIMAL 类型以字符串的形式存储数值,从而避免了浮点数的近似误差。
size
指定数字的总位数(包括小数点左侧和右侧的位数),而d
指定小数点后的位数。 -
示例:
CREATE TABLE decimal_numbers (
decimal_value DECIMAL(10, 2) -- 总共10位,其中小数点后有2位
);
INSERT INTO decimal_numbers (decimal_value) VALUES (1234567.89);