首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【MySQL】常见数据类型

【MySQL】常见数据类型

原创
作者头像
lirendada
发布2026-05-03 12:07:15
发布2026-05-03 12:07:15
2060
举报
文章被收录于专栏:MySQLMySQL

数据类型

说明

数值类型

TINYINT

1 字节,有符号范围 -128~127,无符号范围 0~255

SMALLINT

2 字节,有符号范围 -32768~32767,无符号范围 0~65535

MEDIUMINT

3 字节,有符号范围 -8388608~8388607,无符号范围 0~16777215

INT

4 字节,有符号范围 -2147483648~2147483647,无符号范围 0~4294967295

BIGINT

8 字节,有符号范围 -2^63~2^63-1,无符号范围 0~2^64-1

FLOAT

单精度浮点数,4 字节

DOUBLE

双精度浮点数,8 字节

DECIMAL(M, D)

定点数,M 为总位数,D 为小数位数,存储为字符串,适合高精度计算

BIT(M)

位类型,M 为位数,范围 1~64,存储二进制值

字符串类型

CHAR(M)

固定长度字符串,M 为字符数,单位是字符,默认为 1

VARCHAR(M)

可变长度字符串,M 为字符数,但单位是字节,取值范围为 0~65535

TINYTEXT

小文本,最大长度 255 字节

TEXT

文本,最大长度 65535 字节

MEDIUMTEXT

中等文本,最大长度 16777215 字节

LONGTEXT

大文本,最大长度 4294967295 字节

二进制字符串类型

BINARY(M)

固定长度二进制字符串,M 为字节数

VARBINARY(M)

可变长度二进制字符串,M 为字节数

TINYBLOB

小二进制数据,最大长度 255 字节

BLOB

二进制数据,最大长度 65535 字节

MEDIUMBLOB

中等二进制数据,最大长度 16777215 字节

LONGBLOB

大二进制数据,最大长度 4294967295 字节

日期与时间类型

DATE

日期,格式为 YYYY-MM-DD,范围 1000-01-01 至 9999-12-31

TIME

时间,格式为 HH:MM:SS,范围 -838:59:59 至 838:59:59

DATETIME(fsp)

日期时间,格式为 YYYY-MM-DD HH:MM:SS,范围 1000-01-01 00:00:00 至 9999-12-31 23:59:59 其中 fsp 是可选项,指定小数秒精度,默认为 0

TIMESTAMP(不推荐)

时间戳,格式为 YYYY-MM-DD HH:MM:SS,范围 1970-01-01 00:00:01 UTC 至 2038-01-19 03:14:07 UTC

YEAR

年份,范围 1901 至 2155

注意事项:

  1. decimal 类型是不会出现精度损失的。
  2. varchar 类型中的最大长度指的是【字节数】,而 char 的最大长度指的是【字符数】
  3. text 类型在长度溢出的时候,会自动出现向上提升为 mediumtext 或者 longtext,而 varchar 出现溢出的时候是直接报错。
  4. 选择 char 还是 varchar❓❓❓
    1. 如果数据确定长度大致都一样,就使用定长(char,比如:身份证、手机号、md5。
    2. 如果数据长度有变化,就使用变长(varchar。比如:名字、地址,但是你要保证最长的能存的进去。
    3. 定长的磁盘空间比较浪费,但是效率高
    4. 变长的磁盘空间比较节省,但是效率低
    5. 定长直接开辟好对应的空间
    6. 变长在不超过自定义范围的情况下,用多少就开辟多少。
  5. 一般二进制字符串类型我们很少使用了,而会用 RedisElasticsearch 等其它数据库来进行存储,提高效率等!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档