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

本文深入探讨了SQL中的日期时间数据类型,包括datetime、date、time、timestamp和year的特性和使用方法。通过实例演示了如何创建日期时间表,以及在插入和更新记录时的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

列类型(数据类型)

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

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


 

日期时间型

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

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 语句创建日期时间表,进行测试:
 

[plain] view plaincopy

  1. -- 创建日期时间表  
  2. create table my_date(  
  3. d1 datetime,  
  4. d2 date,  
  5. d3 time,  
  6. d4 timestamp,  
  7. d5 year  
  8. )charset utf8;  



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

[plain] view plaincopy

  1. -- 插入测试数据  
  2. insert into my_date values ('2017-05-06 13:15:00','2017-05-06','13:15:00','2017-05-06 13:15:00',2017);  
  3. insert into my_date values ('2017-05-06 13:15:00','2017-05-06','-113:15:00','2017-05-06 13:15:00',69);  
  4. 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 条记录已经插入成功,接下来,咱们再来验证更新记录时,时间戳类型的字段d4是否会自动更新:
 

[plain] view plaincopy

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





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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值