程序员的知识教程库

网站首页 > 教程分享 正文

mysql的数据类型有哪些(mysql的数据类型有哪些特点)

henian88 2024-10-24 10:23:32 教程分享 4 ℃ 0 评论

整数类型

  • tinyint-1个字节
  • smallint-2个字节
  • mediumint-3个字节
  • int-4个字节
  • bigint-8个字节

Tips:许多人建立整数类型的字段时,喜欢指定其长度,这里需要说明的是,指定长度大多数没有意义,不如直接指定其类型,其类型就决定了其占用的空间,而不是长度,通常作为字段类型,需要结合UNSIGNED属性使用。

实数类型

  • float-4个字节,浮点数
  • double-8个字节,浮点数
  • decimal-依赖于精度和标度的值,定点数

Tips:float与double适合存储范围广,精度要求不高的科研计算、测量数据等;decimal适合高精度计算,但是效率比起浮点数要慢;

字符串类型

  • varchar-字符集为latin1,每个字符最多占用1个字节;utf8每个字符最多占用3个字节,utf8mb4每个字符最多占用4个字节
  • char-同上
  • text-同上
  • blob-同上

Tips:

  1. varchar、char超过储存范围会被截断;
  2. varchar是可变字符串,比char节省空间;
  3. varchar会有额外的1或者2个字节存储字符长度,小于255时1个字节,反之2个字节;
  4. char适合存储短字符串或者固定长度字符串;
  5. char不容易产生碎片;
  6. 避免使用blob/text,查询时会使用临时表;

枚举类型

  • enum-存储紧凑,每个枚举值占用1到2字节,255内每个枚举值占用1个字节,反之2个字节

Tips:enum类型存储非常紧凑,内存存储的是整数,避免使用数据作为enum,容易混淆。

日期时间类型

  • datetime-8个字节
  • timestamp-4个字节

Tips:timestamp比datetime空间效率高,datetime默认的格式为YYYY-MM-DD HH:MM:SS。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表