牛刀小试MySQL学习-Date and Time Types

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Storage Requirements for Date and Time Types     Data TypeStorage RequiredDATE3 bytesTIME3 bytesDATETIME8 bytesTIMESTAM...
Storage Requirements for Date and Time Types     

Data Type Storage Required
DATE 3 bytes
TIME 3 bytes
DATETIME 8 bytes
TIMESTAMP 4 bytes
YEAR 1 byte

DATE类型只有日期部分没有时间部分,MySQL取值和展示DATE值是已'YYYY-MM-DD'  format,支持的范围'1000-01-01'  to  '9999-12-31'.

DATETIME类型包括了日期和时间部分,MySQL展示的格式:'YYYY-MM-DD HH:MM:SS'  format,支持的范围'1000-01-01 00:00:00'  to  '9999-12-31 23:59:59'.

TIMESTAMP类型包括了其实和时间部分,支持的范围'1970-01-01 00:00:01'  UTC to  '2038-01-19 03:14:07'  UTC( UTC(Universal Time Coordinated),国际时间标准,咱们中国式东八区时间标准, http://space.itpub.net/7607759/viewspace-695482详细查看,三思兄的 MySQL数据库中的timestamp类型与时区
) 

TIME类型以'HH:MM:SS' format,支持的范围是:'838:59:59' to '838:59:59' 

YEAR类型,可以定义为YEAR(4) or YEAR(2),但是表现方式

不一致,如下:

  • As a 4-digit string in the range '1901' to '2155'.

  • As a 4-digit number in the range 1901 to 2155.

  • As a 1- or 2-digit string in the range '0' to '99'. Values in the ranges '0' to '69' and '70' to '99' are converted to YEAR values in the ranges 2000 to 2069 and             1970 to 1999.

  • As a 1- or 2-digit number in the range 1 to 99. Values in the ranges 1 to 69 and 70 to 99 are converted to YEAR values in the ranges 2001 to 2069 and 1970 to 1999.  


    备注小记:

    timestamp除了上面的时区问题,还有一个有趣的现象。

    mysql> create table t2date_zsd(time1 timestamp not null,time2 timestamp not null);
    Query OK, 0 rows affected (0.06 sec)
    mysql> show create table t2date_zsd;
    +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table | Create Table |
    +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | t2date_zsd | CREATE TABLE `t2date_zsd` (
    `time1` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `time2` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
    +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)

    mysql>

    从上述例子来看,如果不设置default,它默认给你current_timestamp另外赋予零值表示,而且timestamp不能同时CURRENT_TIMESTAMP或者now()存在,否则会报表定义错误(Incorrect table definition)

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
48 3
|
1月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
61 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
1月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
66 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
1月前
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
25 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
|
1月前
|
关系型数据库 MySQL 数据库
mysql关系型数据库的学习
mysql关系型数据库的学习
18 0
|
1月前
|
Kubernetes 关系型数据库 MySQL
k8s学习--利用helm部署应用mysql,加深helm的理解
k8s学习--利用helm部署应用mysql,加深helm的理解
173 0
|
2月前
|
SQL 关系型数据库 MySQL
学习MySQL操作的有效方法
学习MySQL操作的有效方法
43 3
|
2月前
|
SQL 关系型数据库 MySQL
如何学习 MySQL?
如何学习 MySQL?
38 3
|
3月前
|
SQL 关系型数据库 MySQL
学习mysql基础操作
【8月更文挑战第20天】学习mysql基础操作
40 1
|
4月前
|
SQL 关系型数据库 MySQL
学习mysql中使用inner join,left join 等
学习mysql中使用inner join,left join 等