MySQL 支持多种数据类型,用于在表中定义列(字段)。以下是一些常见的 MySQL 数据类型及其描述: 数值类型- TINYINT:非常小的整数。有符号的范围是 -128 到 127,无符号的范围是 0 到 255。
- SMALLINT:小的整数。有符号的范围是 -32,768 到 32,767,无符号的范围是 0 到 65,535。
- MEDIUMINT:中等大小的整数。有符号的范围是 -8388608 到 8388607,无符号的范围是 0 到 16777215。
- INT 或 INTEGER:标准的整数。有符号的范围是 -2,147,483,648 到 2,147,483,647,无符号的范围是 0 到 4,294,967,295。
- BIGINT:大整数。有符号的范围是 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807,无符号的范围是 0 到 18,446,744,073,709,551,615。
对于整数类型,你可以使用 UNSIGNED 关键字来指定无符号类型,它只包含正数(包括0)。 - FLOAT:单精度浮点数。
- DOUBLE:双精度浮点数。
- DECIMAL(M,N) 或 NUMERIC(M,N):精确的小数值。M 是数字的最大数(精度),N 是小数点右侧的数字数(标度)。
日期和时间类型- DATE:日期。格式为 'YYYY-MM-DD'。
- TIME:时间。格式为 'HH:MM:SS'。
- DATETIME:日期和时间。格式为 'YYYY-MM-DD HH:MM:SS'。
- TIMESTAMP:时间戳。格式为 'YYYY-MM-DD HH:MM:SS',并受时区影响。
- YEAR:年份。可以是两位或四位数字。
字符串类型- CHAR(M):定长字符串。M 指定了字符串的最大长度。最大长度是 255 个字符。
- VARCHAR(M):可变长度字符串。M 指定了字符串的最大长度。最大长度是 65,535 个字符(但最大行大小限制可能会更小)。
- TINYTEXT:非常小的文本字符串。最大长度是 255 个字符。
- TEXT:文本字符串。最大长度是 65,535 个字符(约 64KB)。
- MEDIUMTEXT:中等大小的文本字符串。最大长度是 16,777,215 个字符(约 16MB)。
- LONGTEXT:大文本字符串。最大长度是 4,294,967,295 个字符(约 4GB)。
对于文本类型,TINYTEXT 、TEXT 、MEDIUMTEXT 和 LONGTEXT 是基于 VARCHAR 的变长字符串,但允许更大的数据长度。 二进制数据类型- TINYBLOB:最大长度为 255 个字节的 BLOB。
- BLOB:最大长度为 65,535 个字节的 BLOB。
- MEDIUMBLOB:最大长度为 16,777,215 个字节的 BLOB。
- LONGBLOB:最大长度为 4,294,967,295 个字节的 BLOB。
枚举和集合- ENUM('value1','value2',...):枚举类型,包含一个预定义的值的集合,你只能从集合中选择一个值。
- SET('value1','value2',...):集合类型,你可以从预定义的值的集合中选择零个或多个值。
空间数据类型MySQL 还支持空间数据类型,用于地理空间数据,如 GEOMETRY 、POINT 、LINESTRING 、POLYGON 等。这些类型通常在需要处理地理信息的数据库中使用。 |