-
整数类型:包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT 等,分别用于存储不同范围的整数值。
-
浮点数类型:包括 FLOAT 和 DOUBLE,用于存储浮点数值。
-
定点数类型:包括 DECIMAL,用于存储精确的小数值。
-
字符串类型:包括 CHAR、VARCHAR、TEXT 等,用于存储字符串数据。
-
日期和时间类型:包括 DATE、TIME、DATETIME、TIMESTAMP 等,用于存储日期和时间信息。
-
枚举类型:用于存储预定义的枚举值。
-
集合类型:用于存储预定义的集合值。
整数类型:
-
TINYINT(tinyint):用于存储范围为 -128 到 127 的有符号整数,或 0 到 255 的无符号整数。
-
SMALLINT(smallint):用于存储范围为 -32768 到 32767 的有符号整数,或 0 到 65535 的无符号整数。
-
MEDIUMINT(mediumint):用于存储范围为 -8388608 到 8388607 的有符号整数,或 0 到 16777215 的无符号整数。
-
INT(int):用于存储范围为 -2147483648 到 2147483647 的有符号整数,或 0 到 4294967295 的无符号整数。
-
BIGINT(bigint):用于存储范围为 -9223372036854775808 到 9223372036854775807 的有符号整数,或 0 到 18446744073709551615 的无符号整数。
浮点数类型:
具体来说,FLOAT 类型用于存储单精度浮点数,占用 4 字节的存储空间,精度为大约 7 位有效数字;而 DOUBLE 类型用于存储双精度浮点数,占用 8 字节的存储空间,精度为大约 15 位有效数字。
在选择浮点数类型时,需要考虑到存储空间和精度的平衡。如果需要存储精度较高的浮点数值,可以选择 DOUBLE 类型;如果需要节省存储空间,可以选择 FLOAT 类型。需要注意的是,在进行数值计算时,浮点数类型可能存在舍入误差和精度损失的问题,需要谨慎处理。
字符串类型:
-
CHAR 类型:用于存储固定长度的字符串,最多可以存储 255 个字符。CHAR 类型在存储数据时,会自动在字符串后面添加空格,使得存储的字符串总长度等于指定的长度。
-
VARCHAR 类型:用于存储可变长度的字符串,最多可以存储 65535 个字符。VARCHAR 类型在存储数据时,只会存储实际使用的字符,不会浪费存储空间。
-
TEXT 类型:用于存储较长的字符串,最多可以存储 2^16-1 个字符(约 64KB)。TEXT 类型支持的字符集包括 ASCII、Unicode、UTF-8 等多种编码方式。
日期与时间类型:
-
DATE 类型:用于存储日期,包括年、月、日。DATE 类型可以存储的日期范围是从 '1000-01-01' 到 '9999-12-31'。
-
TIME 类型:用于存储时间,包括小时、分钟、秒。TIME 类型可以存储的时间范围是从 '-838:59:59' 到 '838:59:59'。
-
DATETIME 类型:用于存储日期和时间,包括年、月、日、小时、分钟、秒。DATETIME 类型可以存储的日期和时间范围是从 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'。
-
TIMESTAMP 类型:用于存储日期和时间,包括年、月、日、小时、分钟、秒。TIMESTAMP 类型可以存储的日期和时间范围是从 '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC。