Mysql数据类型,差异小结

DATETIME和TIMESTAMP列都可以存储相同类型的数据:时间和日期,精确到秒。 然而TIMESTAMP只使用DATATIME一半的存储空间,而且会根据时区变化,具有特殊的自动更新能力。 另外一方面,TIMESTAMP允许的时间范围小得多,有时候它的特殊能力会成为障碍。

TIMESTAMP[(M)] 时间戳。范围是’1970-01-01 00:00:00’到2037年。 TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。 如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。 也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。 TIMESTAMP值返回后显示为’YYYY-MM-DD HH:MM:SS’格式的字符串, 显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0。

TIME 时间。范围是’-838:59:59’到’838:59:59’。 MySQL以’HH:MM:SS’格式显示TIME值,但允许使用字符串或数字为TIME列分配值。

DATETIME 日期和时间的组合。 支持的范围是’1000-01-01 00:00:00’到’9999-12-31 23:59:59’。 MySQL以’YYYY-MM-DD HH:MM:SS’格式显示DATETIME值, 但允许使用字符串或数字为DATETIME列分配值。

有符号和无符号使用相同的存储空间,并且具有相同的性能,因此可以根据实际情况选择合适的类型。 整数计算一般使用64位的BIGINT整数,即使是在32位环境中也是如此。 (一些聚合函数是例外,他们使用decimal或double进行计算)。

MySQL 可以为整数指定宽度,例如INT(11),对于大多数应用这是没有意义的; 他不会限制值的合法范围,只是规定了MySQL的一些交互工具(例如MySQL命令行客户端) 用来显示字符的个数。对于存储来说,INT(1)和INT(20)是相同的。 int(20)中20的涵义 int(M)中的M indicates the maximum display width (最大显示宽度)for integer types. The maximum legal display width is 255.

转载于:https://my.oschina.net/helloworldcoding/blog/789964

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值