MySQL常见字段类型长度汇总

MySQL常见字段类型长度汇总本文主要整理了常见的数据库字段类型 方便大家进行查阅 mysql 字段类型长度

大家好,欢迎来到IT知识分享网。

一、整数

TINYINT

SMALLINT

MEDIUMINT

INT

BIGINT

二、字符串

CHAR

VARCHAR

BINARY

VARBINARY

TINYTEXT

TEXT

MEDIUMTEXT

LONGTEXT

TINYBLOB

BLOB

MEDIUMBLOB

LONGBLOB

TEXT和BLOB字段类型之间的主要区别?

  • 存储内容:
    TEXT:通常用于存储长文本内容,如文章、评论等。
    BLOB:通常用于存储二进制数据,如图片、音频、视频等。

  • 最大长度:
    TEXT:TINYTEXT 最多可存储 255 个字符,TEXT 最多可存储 65,535 个字符,MEDIUMTEXT 最多可存储 16,777,215 个字符,LONGTEXT 最多可存储 4,294,967,295 个字符。
    BLOB:TINYBLOB 最多可存储 255 个字节,BLOB 最多可存储 65,535 个字节,MEDIUMBLOB 最多可存储 16,777,215 个字节,LONGBLOB 最多可存储 4,294,967,295 个字节。

  • 字符集和排序规则:
    TEXT:与字符集和排序规则相关,因为它存储的是文本数据。
    BLOB:与字符集和排序规则无关,因为它存储的是二进制数据。

  • 存储和检索:
    TEXT:当你存储或检索TEXT字段时,MySQL会考虑字符集和排序规则。
    BLOB:对于BLOB字段,MySQL将其视为纯粹的二进制数据,不会考虑字符集或排序规则。

  • 用途:
    TEXT:通常用于需要存储和检索大量文本数据的场景,如文章、评论等。
    BLOB:通常用于存储大型二进制对象,如图片、音频、视频等,或者存储与字符集和排序规则无关的数据。

选择TEXT还是BLOB主要取决于你的数据需求和场景。如果你正在存储大量的文本数据,并且需要考虑到字符集和排序规则,那么TEXT可能是更好的选择。如果你正在存储大型二进制对象或与字符集和排序规则无关的数据,那么BLOB可能更适合你的需求。

三、浮点数

NUMERIC(M, D), DECIMAL(M, D)

FLOAT

DOUBLE

浮点数的区别?

四、总结

选择字段的原则

  • 通常更小的更好

    应该尽量使用可以正确存储数据的最小数据类型,更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU更少,但是要确保没有低估需要存储的值的范围,如果无法确认哪个数据类型,就选择你认为不会超过范围的最小类型

  • 简单就好

    简单数据类型的操作,通常需要更少的CPU
    整型比字符操作代价更低,因为字符的字符集和校对规更复杂
    使用datetime类型,使用MySQL自建类型而不是字符串来存储日期和时间
    用整型存储IP地址,可以用函数把字符串转成整型存,空间小,INET_ATON、INET_NTOA


  • 尽量避免null

    如果查询中包含可为NULL的列,对MySQL来说很难优化,因为可为null的列使得索引、索引统计和值比较都更加复杂,坦白来说,通常情况下null的列改为not null带来的性能提升比较小,所以没有必要将所有的表的schema进行修改,但是应该尽量避免设计成可为null的列

int(1)定义的长度影响写入的长度?

这里的int(1)插入123可以成功的,只要不超过int类型的表示范围-2^31 – 2^31-1,所以说字段括号的长度是没有意义的,不影响写入长度。

varchar(5)与varchar(255)保存同样的内容,有区别?

我们知道,varchar(n) ,n<=255使用额外一个字节保存长度,n>255使用额外两个字节保存长度。实际上,两者的硬盘存储空间相同,但内存空间占用不同,是括号的指定大小,因为将行从存储引擎层复制到SQL层时,varchar将转换为字段char以获得利用固定宽度行的优势,因此,内存中的字符串将填充到声明的varchar列的最大长度。

具体可以查阅,MySQL官方文档:https://dev.mysql.com/doc/refman/5.7/en/data-types.html

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/114409.html

(0)
上一篇 2025-12-09 07:00
下一篇 2025-12-09 07:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信