杂文随笔4
前端编程3
Java编程8
Java基础知识14
SpringBoot31
SpringMVC14
MyBatis8
Spring Cloud Netflix8
Spring Cloud Alibaba7
RocketMQ1
MyCat1
数据库4
MySQL12
Redis7
MongoDB10
H21
Java技术栈1
软件工具箱14
Linux知识11
Python编程6
AI相关9
创意设计2
数值类型
TINYINT:1字节,范围 -128 ~ 127(无符号 0 ~ 255)。用于存储小整数,如年龄、状态码
SMALLINT:2字节,范围 -32768 ~ 32767(无符号 0 ~ 65535)。用于存储较小整数,如员工编号
MEDIUMINT:3字节,范围 -8388608 ~ 8388607(无符号 0 ~ 16777215)。用于存储中等整数,如日志行号
INT / INTEGER:4字节,范围 -2147483648 ~ 2147483647(无符号 0 ~ 4294967295)。最常用的整数类型,用于存储一般主键或计数
BIGINT:8字节,范围 -2^63 ~ 2^63-1(无符号 0 ~ 2^64-1)。用于存储超大整数,如大型系统的流水号
DECIMAL(M, D) / NUMERIC(M, D):定点数,M为总位数(最大65),D为小数位数(最大30)。用于精确存储货币金额、税率等,避免浮点误差
FLOAT:单精度浮点数,4字节,约7位小数精度。用于存储对精度要求不高的科学计算数值
DOUBLE / REAL:双精度浮点数,8字节,约15位小数精度。用于存储需要更高精度的浮点数据
BIT(M):存储位值,M指定位数(1~64),默认1。用于存储位标志或权限位
BOOL / BOOLEAN:布尔类型,实际是 TINYINT(1) 的别名,0为假,非0为真
日期与时间类型
DATE:日期,格式 'YYYY-MM-DD',范围 '1000-01-01' 到 '9999-12-31'。仅存储日期,不含时间
TIME[(fsp)]:时间,格式 'hh:mm:ss',范围 '-838:59:59' 到 '838:59:59'。可指定小数秒精度 (fsp) 0~6,如 TIME(3) 表示毫秒
DATETIME[(fsp)]:日期和时间,格式 'YYYY-MM-DD hh:mm:ss',范围 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'。可指定小数秒精度,不受时区影响
TIMESTAMP[(fsp)]:时间戳,范围 '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC。存储时转换为UTC,查询时转换为当前时区。注意2038年问题
YEAR:年份,4位格式,范围 1901 到 2155。用于仅存储年份的场景
字符串类型
文本字符串
CHAR(M):定长字符串,M范围 0~255 字符。长度固定,查询效率高,适合存储长度变化不大的数据(如MD5密码、手机号)
VARCHAR(M):变长字符串,M范围 0~65535 字符。长度可变,节省空间,适合存储长度差异较大的数据(如用户名、标题)
TINYTEXT:最大长度 255 字符。用于存储短文本片段
TEXT:最大长度 65,535 字符(约64KB)。用于存储较长的文章或描述
MEDIUMTEXT:最大长度 16,777,215 字符(约16MB)。用于存储中等长度的文本内容
LONGTEXT:最大长度 4,294,967,295 字符(约4GB)。用于存储超大文本,如日志文件、JSON文档
ENUM('val1','val2',...):枚举类型,从定义的值列表中选择单个值。存储时使用数字索引,占用1~2字节
SET('val1','val2',...):集合类型,从定义的值列表中组合选择多个值。存储时使用位掩码,占用1~8字节
二进制字符串(存储字节,非字符)
BINARY(M):定长二进制字符串,M字节。存储时用 0x00 填充至指定长度,用于存储哈希值、UUID等固定长度二进制数据
VARBINARY(M):变长二进制字符串,M字节。不会填充,用于存储长度可变的二进制数据
TINYBLOB:最大长度 255 字节。用于存储极小的二进制对象(如图标)
BLOB:最大长度 65,535 字节(约64KB)。用于存储一般的二进制文件(如小图片)
MEDIUMBLOB:最大长度 16,777,215 字节(约16MB)。用于存储中等大小的文件(如PDF、音频片段)
LONGBLOB:最大长度 4,294,967,295 字节(约4GB)。用于存储超大二进制文件(如视频、大型压缩包)
JSON 类型
JSON:原生支持JSON数据格式。存储时会自动校验JSON合法性,并优化为内部二进制格式,支持高效的路径查询和索引(通过生成列)。用于存储动态schema数据、配置信息等。
空间数据类型
GEOMETRY:通用空间数据类型,可存储任何类型的几何值
POINT:点,表示一个坐标位置(如经纬度)
LINESTRING:线,由一系列点组成的折线
POLYGON:多边形,由闭合线围成的区域(如地块、商圈)
MULTIPOINT:多点集合
MULTILINESTRING:多线集合
MULTIPOLYGON:多多边形集合
GEOMETRYCOLLECTION:几何对象集合,可包含上述任意类型的混合