两种数据类型都以“YYYY-MM-DD HH:MM:SS”格式存储数据,并包含日期和时间。尽管有这些相似之处,但它们还是有以下区别 -
- 范围 - 日期时间数据类型支持 1000 之间的日期和时间-01-01 00:00:00 和 9999-12-31 23:59:59。但时间戳数据类型支持“1970-01-01 00:00:01”到“2038-01-19 08:44:07”之间的日期和时间。
- 大小 - 日期时间需要 5 个字节以及 3 个附加字节用于小数秒的数据存储。另一方面,时间戳数据类型需要 4 个字节以及 3 个附加字节用于小数秒的数据存储。但在 MySQL 5.6.4 之前,DateTime 需要 8 个字节以及 3 个额外字节用于小数秒的数据存储。
- 从一个时区到另一个时区的转换 - 实际上在 MySQL5+ 中,时间戳值从当前时间转换为 UTC,反之亦然,而日期时间不进行任何转换。
- 索引 - 可以对时间戳数据进行索引,但无法对日期时间数据进行索引。
- 索引 - 可以对时间戳数据进行索引,但不能对日期时间数据进行索引。 li>
- 查询缓存 - 可以缓存时间戳数据类型的查询,但不能缓存日期时间数据类型的查询。
以上是 DATETIME 之间的一些主要区别和 TIMESTAMP 数据类型,以下示例将演示它 -
示例
mysql> Create table test_datetime(time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); Query OK, 0 rows affected (0.44 sec) mysql> INSERT INTO test_datetime (time) values (CURRENT_TIMESTAMP); Query OK, 1 row affected (0.04 sec) mysql> Select * from test_datetime; +---------------------+ | time | +---------------------+ |2017-11-14 17:29:03 | +---------------------+ 1 row in set (0.00 sec) mysql> Create table test_timestamp(time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); Query OK, 0 rows affected (0.64 sec) mysql> INSERT INTO test_timestamp (time) values (CURRENT_TIMESTAMP); Query OK, 1 row affected (0.06 sec) mysql> Select * from test_timestamp; +---------------------+ | time | +---------------------+ | 2017-11-14 17:29:50 | +---------------------+ 1 row in set (0.00 sec)
现在,在以下查询中,我们已将时区更改为 UTC-05:00,并且具有 TIMESTAMP 数据类型的表的结果也发生了更改。
mysql> SET @@session.time_zone = '-5:00'; Query OK, 0 rows affected (0.00 sec) mysql> Select * from test_timestamp; +---------------------+ | time | +---------------------+ | 2017-11-14 06:59:50 | +---------------------+ 1 row in set (0.00 sec)
输出
mysql> Select * from test_datetime; +---------------------+ | time | +---------------------+ | 2017-11-14 17:29:03 | +---------------------+ 1 row in set (0.00 sec)
复制本文链接文章为作者独立观点不代表优设网立场,未经允许不得转载。
文章推荐更多>
- 1俄罗斯引擎入口搜索无需登录 俄罗斯引擎官网入口无需登录网址
- 2uc浏览器退出登录收藏会消失吗 uc账号退出数据保留规则
- 3uc浏览器缓存的视频怎么导出到电脑
- 4mysql数据恢复主要采用什么命令执行
- 5mysql总是安装不上是怎么回事
- 6电脑键盘功能键大小写怎么切换 大小写功能键使用
- 7多摄像头组网监控系统搭建技巧
- 8UC浏览器离线视频导出教程
- 9wordpress网站如何为图片添加水印
- 10谷歌浏览器如何翻译 网页内容实时翻译功能使用
- 11mongodb能存什么
- 12UC缓存视频导出到新手机
- 13mysql怎么使用数据库
- 14wordpress如何迁移数据
- 15mysql数据库如何恢复数据
- 16oracle删除了一条数据怎么恢复
- 17mysql怎么恢复备份
- 18dedecms是什么软件
- 19wordpress的图片存放在哪
- 20ao3官方网站链接2025 ao3官方网站最新入口
- 21俄罗斯资源免费看 俄罗斯引擎视频播放器入口
- 22韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
- 23mysql怎么恢复默认设置
- 24wordpress主题怎么用
- 25如何去掉wordpress的评论
- 26俄罗斯搜索引擎官网无需登录入口 俄罗斯搜索引擎入口无需要登录
- 27mysql怎么更改安装路径
- 28dedecms的首页文件在哪
- 29mysql怎么使用表
- 30 在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?

2017-11-14 17:29:03 |
+---------------------+
1 row in set (0.00 sec)
mysql> Create table test_timestamp(time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
Query OK, 0 rows affected (0.64 sec)
mysql> INSERT INTO test_timestamp (time) values (CURRENT_TIMESTAMP);
Query OK, 1 row affected (0.06 sec)
mysql> Select * from test_timestamp;
+---------------------+
| time |
+---------------------+
| 2017-11-14 17:29:50 |
+---------------------+
1 row in set (0.00 sec)