【mysql】时间类型-如何根据不同的应用场景,选择合适的时间类型?
首先理解mysql时间存储类型,与使用场景
一些帮助理解的资料:
摘自:MySQL如何存储时间datetime还是timestamp
MySql中关于日期的类型有Date/Datetime/Timestamp三种类型。
MySQL 的默认 DATE 字段格式是 YYYY-MM-DD。支持的范围是 1000-01-01 到 9999-12-31。
DATETIME 是一个结合日期和时间的类型,并保存数据为 YYYY-MM-DD HH:MM:SS 格式。它允许的范围从 1000-01-01 00:00:00 到 9999-12-31 23:59:59,并且允许使用字符串或数字进行分配值。
有了上面这些面mysql字段的了解,我决定选择可读性比较好的datetime类型
Datetime格式使用方法如下:
例如:
update sys_tables set crt_date = 12331212121212 where table_name = 'sys_dict';
update sys_tables set crt_date = '1233-12-12 12:12:12' where table_name = 'sys_dict_item';
参考文章:
MySQL中日期和时间类型
然后是实例:
设计表:
我通过 navicat设计 run_result表,这个表有2个字段是时间类型:start_time,end_time
用navicat工具配置datetime类型字段时,不需要指定长度,长度0就可以
插入1条记录看看:
datetime字段值如下,像字符串一样用 ''(英文单引号)括起来就可以了
insert into run_result values(1,1,'2019-10-09 09:59:02','2019-10-09 10:02:12','00时03分10秒',1341,1163,2,176);
存储效果: