本篇文章主要给大家介绍mysql中列类型之日期时间型的相关知识点,希望对需要的朋友有所帮助!
推荐参考教程:《mysql教程》
所谓的列类型,其实就是指数据类型,即对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间。
在 SQL 中,将数据类型分成了三大类,分别为:数值型、字符串型和日期时间型。
日期时间型数据,顾名思义,就是用来表示日期和时间的数据类型,共有五种类型,分别为:
datetime
:日期时间,其格式为yyyy-MM-dd HH:mm:ss
,表示的范围是从 MySQL 教程之列类型中的日期时间型000 年到 9999 年,有零值,即0000-00-00 0000:00
;
date
:日期,就是datetime
的date
部分;
time
:时间,或者说是时间段,为指定的某个时间区间之间,包含正负时间;
timestamp
:时间戳,但并不是真正意义上的时间戳,其是从MySQL 教程之列类型中的日期时间型970
年开始计算的,格式和datetime
一致;
year
:年份,共有两种格式,分别为year(2)
和year(4)
.
执行如下 SQL 语句创建日期时间表,进行测试:
-- 创建日期时间表create table my_date( dMySQL 教程之列类型中的日期时间型 datetime, d2 date, dMySQL 教程之列类型中的日期时间型 time, d4 timestamp, dMySQL 教程之列类型中的日期时间型 year)charset utf8;
当咱们插入数据时,日期时间型中的time
,可以为负数,甚至可以是很大的负数;year
,可以使用 2 位数据插入,也可以使用 4 位数据插入;timestamp
,只要当前所在的记录被更新,该字段就会自动更新为当前时间,且时间戳类型默认为非空的。
-- 插入测试数据insert into my_date values (&#MySQL 教程之列类型中的日期时间型9;20MySQL 教程之列类型中的日期时间型7-0MySQL 教程之列类型中的日期时间型-06 MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:00&#MySQL 教程之列类型中的日期时间型9;,&#MySQL 教程之列类型中的日期时间型9;20MySQL 教程之列类型中的日期时间型7-0MySQL 教程之列类型中的日期时间型-06&#MySQL 教程之列类型中的日期时间型9;,&#MySQL 教程之列类型中的日期时间型9;MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:00&#MySQL 教程之列类型中的日期时间型9;,&#MySQL 教程之列类型中的日期时间型9;20MySQL 教程之列类型中的日期时间型7-0MySQL 教程之列类型中的日期时间型-06 MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:00&#MySQL 教程之列类型中的日期时间型9;,20MySQL 教程之列类型中的日期时间型7);insert into my_date values (&#MySQL 教程之列类型中的日期时间型9;20MySQL 教程之列类型中的日期时间型7-0MySQL 教程之列类型中的日期时间型-06 MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:00&#MySQL 教程之列类型中的日期时间型9;,&#MySQL 教程之列类型中的日期时间型9;20MySQL 教程之列类型中的日期时间型7-0MySQL 教程之列类型中的日期时间型-06&#MySQL 教程之列类型中的日期时间型9;,&#MySQL 教程之列类型中的日期时间型9;-MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:00&#MySQL 教程之列类型中的日期时间型9;,&#MySQL 教程之列类型中的日期时间型9;20MySQL 教程之列类型中的日期时间型7-0MySQL 教程之列类型中的日期时间型-06 MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:00&#MySQL 教程之列类型中的日期时间型9;,69);insert into my_date values (&#MySQL 教程之列类型中的日期时间型9;20MySQL 教程之列类型中的日期时间型7-0MySQL 教程之列类型中的日期时间型-06 MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:00&#MySQL 教程之列类型中的日期时间型9;,&#MySQL 教程之列类型中的日期时间型9;20MySQL 教程之列类型中的日期时间型7-0MySQL 教程之列类型中的日期时间型-06&#MySQL 教程之列类型中的日期时间型9;,&#MySQL 教程之列类型中的日期时间型9;-2 MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:00&#MySQL 教程之列类型中的日期时间型9;,&#MySQL 教程之列类型中的日期时间型9;20MySQL 教程之列类型中的日期时间型7-0MySQL 教程之列类型中的日期时间型-06 MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:00&#MySQL 教程之列类型中的日期时间型9;,70);
如上图所示,以上 MySQL 教程之列类型中的日期时间型 条记录已经插入成功,接下来,咱们再来验证更新记录时,时间戳类型的字段d4
是否会自动更新:
-- 更新记录,验证时间戳类型的字段是否会自动更新update my_date set dMySQL 教程之列类型中的日期时间型 = &#MySQL 教程之列类型中的日期时间型9;20MySQL 教程之列类型中的日期时间型7-0MySQL 教程之列类型中的日期时间型-06 MySQL 教程之列类型中的日期时间型MySQL 教程之列类型中的日期时间型:24:00&#MySQL 教程之列类型中的日期时间型9; where dMySQL 教程之列类型中的日期时间型 = MySQL 教程之列类型中的日期时间型970;
如上图所示,显然咱们的结论全部得到了验证。
以上是MySQL 教程之列类型中的日期时间型的详细内容。更多信息请关注PHP中文网其他相关文章!