史上最简单的 MySQL 教程(十)「列类型 之 日期时间型」

温馨提示:本系列博文已经同步到 GitHub,地址为「mysql-tutorial」,欢迎感兴趣的童鞋StarFork,纠错。

列类型(数据类型)

所谓的列类型,其实就是指数据类型,即对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间。

在 SQL 中,将数据类型分成了三大类,分别为:数值型、字符串型和日期时间型。

1

日期时间型

日期时间型数据,顾名思义,就是用来表示日期和时间的数据类型,共有五种类型,分别为:

  • datetime:日期时间,其格式为yyyy-MM-dd HH:mm:ss,表示的范围是从 1000 年到 9999 年,有零值,即0000-00-00 0000:00
  • date:日期,就是datetimedate部分;
  • time:时间,或者说是时间段,为指定的某个时间区间之间,包含正负时间;
  • timestamp:时间戳,但并不是真正意义上的时间戳,其是从1970年开始计算的,格式和datetime一致;
  • year:年份,共有两种格式,分别为year(2)year(4).

执行如下 SQL 语句创建日期时间表,进行测试:

-- 创建日期时间表
create table my_date(
	d1 datetime,
	d2 date,
	d3 time,
	d4 timestamp,
	d5 year
)charset utf8;

当咱们插入数据时,日期时间型中的time,可以为负数,甚至可以是很大的负数;year,可以使用 2 位数据插入,也可以使用 4 位数据插入;timestamp,只要当前所在的记录被更新,该字段就会自动更新为当前时间,且时间戳类型默认为非空的

-- 插入测试数据
insert into my_date values ('2017-05-06 13:15:00','2017-05-06','13:15:00','2017-05-06 13:15:00',2017);
insert into my_date values ('2017-05-06 13:15:00','2017-05-06','-113:15:00','2017-05-06 13:15:00',69);
insert into my_date values ('2017-05-06 13:15:00','2017-05-06','-2 13:15:00','2017-05-06 13:15:00',70);
3

如上图所示,以上 3 条记录已经插入成功,接下来,咱们再来验证更新记录时,时间戳类型的字段d4是否会自动更新:

-- 更新记录,验证时间戳类型的字段是否会自动更新
update my_date set d1 = '2017-05-06 13:24:00' where d5 = 1970;
5

如上图所示,显然咱们的结论全部得到了验证。


———— ☆☆☆ —— 返回 -> 史上最简单的 MySQL 教程 <- 目录 —— ☆☆☆ ————

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏李家的小酒馆

Redis-Nosql数据库入门

简介 Redis是Nosql数据库的一种,可基于内存亦可持久化的日志型、是一个Key-Value数据库,多用在缓存方面 安装 Windows 下载地址, 最...

2110
来自专栏AndroidTv

写个批处理来帮忙干活---遍历&字符串处理前言批处理脚本

1475
来自专栏along的开发之旅

xargs的使用

前段时间查自己的代码行数时, 用了”find . -name “*.cs” | xargs wc -l“, 但是对xargs在这里的作用有点不了解, 因为网上资...

722
来自专栏猿人谷

getch和getchar的区别

函数名: getch(); 功 能: 从控制台无回显地取一个字符 函数名: getchar(); 功 能: 从stdin流中读字符 函数名: scanf...

1849
来自专栏Python攻城狮

Python系统编程-进程1.进程1.多任务的引入2.多任务的概念

有很多的场景中的事情是同时进行的,比如开车的时候手和脚共同来驾驶汽车,再比如唱歌跳舞也是同时进行的;

763
来自专栏我的博客

CI基础知识二

1.日历类 $this->load->library(‘calendar’); echo $this->calendar->generate();//根据服...

3535
来自专栏流柯技术学院

python 中文乱码问题

cnstr就是你的中文字符串,做一下判断:如果是unicode,直接转码,如果不是,先解码再转码(解码前要知道你的字符串是什么编码)。

772
来自专栏编程

python学习内建模块

介绍python的几个內建模块 1 python的时间模块datetime 取现在时间 ? 将指定日期转化为时间戳 ? 将时间戳转化为日期 根据时间戳转化为本地...

1958
来自专栏小怪聊职场

爬虫课堂(十五)|Request和Response(请求和响应)

3766
来自专栏Vamei实验室

Python补充02 Python小技巧

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 在这里列举一些我使用Python时积累的小...

1827

扫码关注云+社区