(1.1)mysql 选择合适的数据类型

(1.1)mysql 选择合适的数据类型

1、char与varchar

【1.1】char 在内容未满定义长度时,做空格填充,且字符串末尾空格会被截断;超出定义长度也会被截断。  如:char(4)    'abcde' => 'abcd'

【1.2】varchar 在内容未满定义长度时,内容是多少就占多少,以 为系统自动加上的默认结束符。额外多占一个字节。

2、浮点与定点(float/decimal)

【2.1】浮点:当插入数值超过浮点定义时设置的精度时,会四舍五入截断。

【2.2】定点:当插入数值超过浮点定义时设置的精度时,默认sqlmode下也会会四舍五入截断(但有警告)。在传统模式(traditional)下的话,会报错。

浮点在插入数据时,可能会丢失精度;做算数运算的时候也会有误差。

  

3.日期的选择

【3.1】date  【3.2】time  【3.3】datetime  【3.4】timestamp

  如果只需要记录年,则用year类型即可;

  选择原则:

  (1)用最小的字段类型来记录数据且能保证扩展与可用性;

  (2)如果要记录年月日时分秒,最好使用datetime类型而不是timestamp,因为timestamp记录的时间范围短很多。

  (3)如果记录的日期需要让不同时区的用户使用,最好使用timestamp,因为日期类型中只有它能够和实际时区想对应。

  

原文地址:https://www.cnblogs.com/gered/p/10497040.html