时间日期类型

类型 名称 存储字节数 格式 表示范围 初始值
Date 日期类型 3字节 YYYY-mm-dd 1000-01-01~9999-12-12 0000-00-00
Time 时间类型 3字节 HH:ii:ss -838:59:59~838:59:59
Datetime 日期时间类型 8字节 YYYY-mm-dd HH:ii:ss 1000-01-01 00:00:00 ~ 9999-12-12 23:59:59 0000-00-00 00:00:00
Timestamp 时间戳类型 YYYY-mm-dd HH:ii:ss 表示从格林威治时间开始
Year 年类型 1字节 0~99/ 四位数具体年 1900-2155

特殊性:

1、year 插入2位数,有如下规则

  • 69以下为20+
  • 70以上为19+

2、timestamp可以自动更新

timestamp null default current_timestamp on update current_timestamp

3、time可以存放小时超过24的值

4、时间time,可以使用简单的日期 + 空格 + 数字,会自动转换该数字成天数*24 + 后面的时间

示例

create table my_date(date_field date,time_field time,datetime_field datetime,timestamp_field timestamp,year_field year
);mysql> desc my_date;
+-----------------+-----------+------+-----+---------+-------+
| Field           | Type      | Null | Key | Default | Extra |
+-----------------+-----------+------+-----+---------+-------+
| date_field      | date      | YES  |     | NULL    |       |
| time_field      | time      | YES  |     | NULL    |       |
| datetime_field  | datetime  | YES  |     | NULL    |       |
| timestamp_field | timestamp | YES  |     | NULL    |       |
| year_field      | year(4)   | YES  |     | NULL    |       |
+-----------------+-----------+------+-----+---------+-------+-- 插入正常数据
insert into
my_date(date_field, time_field, datetime_field, timestamp_field, year_field)
values ('1970-01-01', '10:12:12', '1970-01-01 10:12:12', '1970-01-01 10:12:12', 1970);mysql> select * from my_date;
+------------+------------+---------------------+---------------------+------------+
| date_field | time_field | datetime_field      | timestamp_field     | year_field |
+------------+------------+---------------------+---------------------+------------+
| 1970-01-01 | 10:12:12   | 1970-01-01 10:12:12 | 1970-01-01 10:12:12 |       1970 |
+------------+------------+---------------------+---------------------+------------+-- 插入time小时数超过24
insert into
my_date(date_field, time_field, datetime_field, timestamp_field, year_field)
values ('1970-01-01', '512:12:12', '1970-01-01 10:12:12', '1970-01-01 10:12:12', 50);mysql> select * from my_date;
+------------+------------+---------------------+---------------------+------------+
| date_field | time_field | datetime_field      | timestamp_field     | year_field |
+------------+------------+---------------------+---------------------+------------+
| 1970-01-01 | 10:12:12   | 1970-01-01 10:12:12 | 1970-01-01 10:12:12 |       1970 |
| 1970-01-01 | 512:12:12  | 1970-01-01 10:12:12 | 1970-01-01 10:12:12 |       2050 |
+------------+------------+---------------------+---------------------+------------+-- time格式转换
insert into
my_date(date_field, time_field, datetime_field, timestamp_field, year_field)
values ('1970-01-01', '5 12:12:12', '1970-01-01 10:12:12', '1970-01-01 10:12:12', 50);mysql> select * from my_date;
+------------+------------+---------------------+---------------------+------------+
| date_field | time_field | datetime_field      | timestamp_field     | year_field |
+------------+------------+---------------------+---------------------+------------+
| 1970-01-01 | 10:12:12   | 1970-01-01 10:12:12 | 1970-01-01 10:12:12 |       1970 |
| 1970-01-01 | 512:12:12  | 1970-01-01 10:12:12 | 1970-01-01 10:12:12 |       2050 |
| 1970-01-01 | 132:12:12  | 1970-01-01 10:12:12 | 1970-01-01 10:12:12 |       2050 |
+------------+------------+---------------------+---------------------+------------+

PHP中的时间转换函数

  • 字符串转时间戳 strtotime
  • 时间戳转字符串 date

通常使用int保存时间戳

MySQL数据库(9):数据类型-时间日期类型相关推荐

  1. java和mysql之间的时间日期类型传递

    摘自:http://blog.csdn.net/weinianjie1/article/details/6310770 MySQL(版本:5.1.50)的时间日期类型如下: datetime 8byt ...

  2. java 和mysql 时间_java和mysql之间的时间日期类型传递

    mysql(版本:5.1.50)的时间日期类型如下: datetime 8bytes xxxx-xx-xx xx:xx:xx 1000-01-01 00:00:00到9999-12-31 23:59: ...

  3. 面试官问:mysql中时间日期类型和字符串类型的选择

    摘要:MySQL中有多种表示时间日期的数据类型,主要有YEAR.TIME.DATE.DATETIME.TIMESTAMP等 本文分享自华为云社区<一针见血,mysql中时间日期类型和字符串类型的 ...

  4. mysql数据库BigInt数据类型和实体对象中BigInteger,Long类型的冲突

    mysql数据库BigInt数据类型和实体对象中BigInteger,Long类型的冲突 实体Bean public class Broke {/*** brokeid */BigInteger br ...

  5. mysql数据库中数据类型的长度

    mysql数据库中数据类型的长度 在mysql中新建数据表的时候会有长度一说,其实用建表语句建数据表的时候也有涉及 例如: CREATE TABLE user( uid int(4), name va ...

  6. MySQL数据库的数据类型和索引

    数据库的数据库索引对程序员来说是透明的,意味着数据库建立索引之前和之后,你的SQL语句都可以正常运行,索引的运用只是数据库引擎工作时候的优化手段.但是,这不是意味着数据库索引仅仅是数据库设计和运维者的 ...

  7. 七、Mysql数据库的数据类型和表属性

    Mysql数据库的数据类型和表属性 七.Mysql数据库的数据类型和表属性 一.SQL介绍 二.常用SQL分类 三.数据类型.表属性.字符集 1.数据类型 2.种类 数值类型 字符类型 时间类型 二进 ...

  8. mysql数据库怎么插入时间_给mysql数据库插入当前时间

    mysql相关的三个函数有: NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中. CURDATE()以'YYYY-MM-DD'的格式返 ...

  9. oracle外部表导入,oracle 外部表导入时间日期类型数据

    oracle 外部表导入时间日期类型数据以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 建立外部表目录 create d ...

最新文章

  1. LeetCode 845. 数组中的最长山脉
  2. boost::mp11::mp_product相关用法的测试程序
  3. linux 命令 抛后台,Linux 后台执行命令
  4. [转载] JAVA的throw用法及扩展
  5. python基于高德地图坐标拾取系统获取地址坐标
  6. 三款免费好用的代码对比工具,丢弃BeyondCompare
  7. PDM中BOM管理技术的研究及其应用
  8. 如何正确利用肢体语言表达自己
  9. MATLAB实现Enigma 密码机
  10. Wooboo斥千万巨资 加快手机程序整合步伐
  11. dell计算机自动开机设置,dell台式电脑定时开机设置教程
  12. 万国觉醒服务器维护,万国觉醒好像没看到1服怎么回事 官方关闭部分服务器公告[多图]...
  13. 高斯-赛德尔(Gauss-Seidel)解线性方程组的Matlab实现
  14. 使用PE工具制作U盘启动盘
  15. 【C语言算法】归并排序
  16. 怎么判断数字n是否为2的x次方,即2的幂次呢,比如2,4,8,16,32
  17. css动画和js动画比较!
  18. 2、气体灭火系统的设计灭火浓度
  19. web前端项目实例网站_招聘 | 北京 | tSynsth系联设计 建筑设计师 / 室内设计师 / 项目负责人 / WEB前端开发工程师 / 实习生...
  20. Armadillo 线性代数库中的聚类算法避坑

热门文章

  1. jquery 遍历筛选数组有多种方法与函数
  2. Java中 Long(long) 和Integer(int)之间的强制转换
  3. oracle无法启动ora03113,Oracle启动失败:ORA-03113
  4. php使用redis做缓存,php 使用 redis 的缓存实例
  5. python写安卓游戏_Python 3d最新安卓版下载,Python 3d游戏最新安卓版下载 v1.0 - 游戏盒子下载站...
  6. 什么是栈?栈的基本应用有哪些?
  7. Git中的 fetch 和pull 和 fetch用法
  8. 如何在Linux中创建目录,并且在新建目录文件中用vi编译器输入内容
  9. Codimd接入单点登录
  10. 修行漫谈——何为放下