MySql 时间日期类型

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySql 时间日期类型

  • date 类型:


表示日期,格式类似这样: 000-00-00


  1. time 类型:


表示时间,格式类似这样: 00:00:00


  • datetime 类型:


表示日期时间,格式类似这样: 0000-00-00 00:00:00


使用 now() 函数的时候,只有在当时执行的时候会获得当前时间,类似用于创建时间。


  • timestamp 类型:


表示“时间戳”,其实就是一个整数数字,该数字是从是“时间起点”到现在为止的“秒数”。


“时间起点”是: 1970-1-1 0:0:0


timestamp 类型的字段,无需插入数据,而是会自动取得当前的日期时间(表示当前时刻),类似用于修改时间或者最后一次更改内容时间。


而且,此类型字段会在数据被更新时,也同样自动取得当前的日期时间(表示修改的时刻)。


特别总结: 它在 insert 或 update 某行数据的时候,能够自动获得当前时间。


  • year 类型:


  • 表示年份,格式为: 0000
mysql> create table timeTest (t_time time, t_date date, t_datetime datetime, t_timestamp timestamp, t_year year);
mysql> desc timeTest;
+-------------+-----------+------+-----+-------------------+-----------------------------+
| Field       | Type      | Null | Key | Default           | Extra                       |
+-------------+-----------+------+-----+-------------------+-----------------------------+
| t_time      | time      | YES  |     | NULL              |                             |
| t_date      | date      | YES  |     | NULL              |                             |
| t_datetime  | datetime  | YES  |     | NULL              |                             |
| t_timestamp | timestamp | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| t_year      | year(4)   | YES  |     | NULL              |                             |
+-------------+-----------+------+-----+-------------------+-----------------------------+
mysql> insert into timeTest (t_time, t_date, t_datetime, t_timestamp, t_year) values ('10:57:50', '2018-7-29', '2008-8-8 20:00:00', '2018-7-29 11:00:12', 2020);
mysql> select * from timeTest;
+----------+------------+---------------------+---------------------+--------+
| t_time   | t_date     | t_datetime          | t_timestamp         | t_year |
+----------+------------+---------------------+---------------------+--------+
| 10:57:50 | 2018-07-29 | 2008-08-08 20:00:00 | 2018-07-29 11:00:12 |   2020 |
+----------+------------+---------------------+---------------------+--------+
mysql> insert into timeTest (t_time, t_date, t_datetime, t_year) values ('20:00:08', '2020-8-8', '2020-8-8 20:00:30', 2020);
mysql> select * from timeTest;
+----------+------------+---------------------+---------------------+--------+
| t_time   | t_date     | t_datetime          | t_timestamp         | t_year |
+----------+------------+---------------------+---------------------+--------+
| 20:00:08 | 2020-08-08 | 2020-08-08 20:00:30 | 2020-07-06 13:42:56 |   2020 |
+----------+------------+---------------------+---------------------+--------+
mysql> insert into timeTest (t_time, t_date, t_datetime, t_year) values ('20:00:08', '2020-8-8', now(), 2020);
mysql> select * from timeTest;
+----------+------------+---------------------+---------------------+--------+
| t_time   | t_date     | t_datetime          | t_timestamp         | t_year |
+----------+------------+---------------------+---------------------+--------+
| 20:00:08 | 2020-08-08 | 2020-07-06 13:45:04 | 2020-07-06 13:45:04 |   2020 |
+----------+------------+---------------------+---------------------+--------+
mysql> update timeTest set t_year=2021 where t_year=2020;
mysql> select * from timeTest;
+----------+------------+---------------------+---------------------+--------+
| t_time   | t_date     | t_datetime          | t_timestamp         | t_year |
+----------+------------+---------------------+---------------------+--------+
| 20:00:08 | 2020-08-08 | 2020-08-08 20:00:30 | 2020-07-06 13:54:25 |   2021 |
| 20:00:08 | 2020-08-08 | 2020-07-06 13:45:04 | 2020-07-06 13:54:25 |   2021 |
+----------+------------+---------------------+---------------------+--------+

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
15天前
|
分布式计算 关系型数据库 MySQL
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型 图像处理 光通信 分布式计算 算法语言 信息技术 计算机应用
36 8
|
22天前
|
关系型数据库 MySQL
Mysql 中日期比较大小的方法有哪些?
在 MySQL 中,可以通过多种方法比较日期的大小,包括使用比较运算符、NOW() 函数、DATEDIFF 函数和 DATE 函数。这些方法可以帮助你筛选出特定日期范围内的记录,确保日期格式一致以避免错误。
|
1月前
|
关系型数据库 MySQL
用dbeaver创建一个enum类型,并讲述一部分,mysql的enum类型的知识
这篇文章介绍了如何在DBeaver中创建MySQL表的枚举(ENUM)字段,并探讨了MySQL中ENUM类型的一些行为特点,例如ENUM值的默认排序和在插入重复值时的表现。
47 1
用dbeaver创建一个enum类型,并讲述一部分,mysql的enum类型的知识
|
1月前
|
存储 自然语言处理 关系型数据库
mysql 8.0 日期维度表生成(可运行)
mysql 8.0 日期维度表生成(可运行)
48 2
|
23天前
|
SQL NoSQL 关系型数据库
|
24天前
|
关系型数据库 MySQL Java
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
26 0
|
2月前
|
关系型数据库 MySQL 数据库
Python MySQL查询返回字典类型数据的方法
通过使用 `mysql-connector-python`库并选择 `MySQLCursorDict`作为游标类型,您可以轻松地将MySQL查询结果以字典类型返回。这种方式提高了代码的可读性,使得数据操作更加直观和方便。上述步骤和示例代码展示了如何实现这一功能,希望对您的项目开发有所帮助。
138 4
|
1月前
|
关系型数据库 MySQL 数据处理
企业级应用 mysql 日期函数变量,干货已整理
本文详细介绍了如何在MySQL8.0中使用DATE_FORMAT函数进行日期格式的转换,包括当日、昨日及不同时间段的数据获取,并提供了实际的ETL应用场景和注意事项,有助于提升数据处理的灵活性和一致性。
42 0
|
2月前
|
自然语言处理 算法 Java
Java如何判断两句话的相似度类型MySQL的match
【9月更文挑战第1天】Java如何判断两句话的相似度类型MySQL的match
26 2
|
3月前
|
存储 关系型数据库 MySQL
MySQL bit类型增加索引后查询结果不正确案例浅析
【8月更文挑战第17天】在MySQL中,`BIT`类型字段在添加索引后可能出现查询结果异常。表现为查询结果与预期不符,如返回错误记录或遗漏部分数据。原因包括索引使用不当、数据存储及比较问题,以及索引创建时未充分考虑`BIT`特性。解决方法涉及正确运用索引、理解`BIT`的存储和比较机制,以及合理创建索引以覆盖各种查询条件。通过`EXPLAIN`分析执行计划可帮助诊断和优化查询。
下一篇
无影云桌面