写点什么

mysql 基本类型

作者:周杰伦本人
  • 2022 年 9 月 08 日
    贵州
  • 本文字数:899 字

    阅读完需:约 3 分钟

mysql 基本类型

整数类型

整数类型:


  • tinyint:8 位存储空间

  • smallint:16 位存储空间

  • mediumint:24 位存储空间

  • int:32 位存储空间

  • bigint:64 位存储空间


有 unsigned 属性,表示不允许为负值。


有符号和无符号类型使用相同的存储空间,具有相同的性能,可以根据实际情况选择合适的类型。


可以为整数类型指定宽度,例如 int(10) ,这对大多数应用没有音乐,对于存储和计算来说,int(10)和 int(20)相同

实数类型

float 和 double 类型支持使用标准的浮点运算进行近似计算。


decimal 类型用于存储精确的小数。mysql5.0 和更高版本,decimal 类型支持精确计算。


浮点类型在存储同样范围的值时,通常比 decimal 使用更少的空间,float 占 4 个字节,double 占 8 个字节。


尽量在对小数进行精确计算时才使用 decimal,比如存储财务数据。如果数据量比较大,考虑使用 bigint 类型代替 decimal。小数的位数乘以倍数来存储。

字符串类型

varchar

varchar 类型用于存储可变长字符串,比定长类型更节省空间

char

char 类型是定长的,char 适合存储很短的字符串,或者所有值都接近同一个长度。char 非常适合存储秘密的 md5 值,因为是定长的。定长的 char 类型不容易产生碎片,char 比 varchar 在存储空间更加有效率,char(1)存储只需要一个字节,varchar(1)需要两个字节,一个记录长度的额外字节。

blob

blob 存储很大的数据而设计的字符串二进制方式存储

text

存储很大的数据而设计的字符串字符方式存储


当 blob 和 text 值太大的时候,Innodb 使用专门的外部存储 区域来进行存储,每个值的行内需要 1 到 4 个字节存储一个指针,然后在外部存储区域存储实际的值。


blob 类型存储是二进制数据,没有排序规则或字符集,text 类型有字符集和排序规则


mysql 不能将 blog 和 text 列全部长度的字符串进行索引,也不能使用这些索引消除排序。

日期类型

datetime

它把日期和时间封装到格式为 YYYYMMDDHHMMSS 的整数中,使用 8 字节存储

timestamp

保存从 1970 年 1 月 1 日午夜以来的秒数,使用 4 字节存储,显示的值依赖于时区,timestamp 默认为 not null,当插入时候没有指定第一个列的 timestamp 的值的时候,Mysql 设置这个列的值为当前时间。当插入一条数据时也会更新第一个列的值。


通常尽量使用 timestamp,因为它比 datetime 的空间效率更高,更节省空间。

发布于: 刚刚阅读数: 5
用户头像

还未添加个人签名 2020.02.29 加入

公众号《盼盼小课堂》,多平台优质博主

评论

发布
暂无评论
mysql基本类型_9月月更_周杰伦本人_InfoQ写作社区