恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

MySQL系列之数据类型(DateTime)

  • 首页
  • 资讯中心
  • /
  • MySQL系列之数据类型(DateTime)

相关资讯

2026年英语听说AI软件怎么选?避开这3个坑 2026/8/29 0:33:31
2026年自习室合作避坑:这4种资质你必须搞清 2026/8/29 0:33:31
三款AI写作辅助平台横评:从选题到降AI怎么选才不踩坑? 2026/8/29 0:33:31

最新资讯

MATLAB微分方程求解实战:从符号解到数值解,攻克刚性与边值问题
数据驱动的农业供应链实时气候风险评估系统
AI语音克隆威胁法庭证据,如何建立音频验证链路?
C语言字符串函数深度剖析:从strcpy到memmove的模拟实现与安全实践
Python Django视频点播网站毕业设计:从架构到部署的完整实战指南
排序算法与动态规划空间压缩:面试高频题精讲

今日推荐

云计算SPI三类服务模式是逐层抽象的关系:IaaS提供最底层的硬件资源,PaaS在IaaS基础上封装了开发运行环境,SaaS则进一步封装为可直接使用的软件
最新稳定版(Python 3.14):这是目前官方推荐的最新稳定版本。作为最后一个采用传统“3.x”命名的版本
etc目录下的profile.d文件目录设置环境变量和全局脚本shell

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

MySQL系列之数据类型(DateTime)

发布时间:2026/8/29 0:38:31
MySQL系列之数据类型(DateTime) 导览* 前言* 一、日期/时间类型* * 1. Date * * 1.1 取值范围 * 1.2 显示格式 * 2. Datetime * * 2.1 取值范围 * 2.2 显示格式 * 3. Timestamp * * 3.1 取值范围 * 3.2 显示格式 * 4. time * * 4.1 取值范围 * 4.2 显示格式 * 5. year * * 5.1 取值范围 * 5.2 显示格式* 二、自动填充机制* * 1. 原理介绍 * 2. 实现方式 * * 2.1 案例1 * 2.2 案例2 * 2.3 案例3 * 2.4 案例4 * 2.5 案例5* 结语* 精彩回放前言–在上期文章中博主介绍了MySQL的数据类型Numeric今天我们继续探索第二种数据类型: 日期或时间。一、日期/时间类型---------MySQL时间类型包括Date、Datetime、Timestamp、time、year。### 1. Date日期不含时分秒#### 1.1 取值范围1000-01-01 ~ 9999-12-31#### 1.2 显示格式YYYY-MM-DD### 2. Datetime日期含时分秒#### 2.1 取值范围1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.499999#### 2.2 显示格式YYYY-MM-DD hh:mm:ss[.小数位] 提示小数位长度6取值0-6。### 3. Timestamp时间戳#### 3.1 取值范围‘1970-01-01 00:00:01.000000’ UTC~‘2038-01-19 03:14:07.499999’ UTC. 提示Timestamp值存储为自’1970-01-01 00:00:00’UTC以来的秒数。Timestamp不能表示值“1970-01-01 00:00:00”因为这相当于从1970-01-01 00:00:00算起的0秒。如果表示0值可输入“0000-00-00 00:00:00“。#### 3.2 显示格式YYYY-MM-DD hh:mm:ss[.小数位] 提示小数位长度6取值0-6。### 4. time时间#### 4.1 取值范围-838:59:59.000000~838:59:59.000000#### 4.2 显示格式hh:mm:ss[.小数位] 提示小数位长度6取值0-6。### 5. year年份#### 5.1 取值范围1901~2155或0000#### 5.2 显示格式YYYY二、自动填充机制--------### 1. 原理介绍MySQL支持对Timestamp和Datetime类型的字段进行自动填充默认为当前数据库服务器时间。那么该如何实现呢且看下文。对于表中的任何Timestamp或Datetime列你可以将“当前时间戳”指定为默认值或者自动更新对于未指定列值的行将自动初始化为当前时间戳。当行中任何其他列的值发生变化时自动更新的时间戳列会更新为当前时间戳否则自动更新的列将保持不变。要防止自动更新的列在其他列更改时立即更新请将其显式设置为当前值。自动更新的列发生变化时即使行中的其他列没有更改也要将其显式设置为它应该具有的值需设置为CURRENT_TIMESTAMP。### 2. 实现方式要实现自动更改需在列定义中使用DEFAULT CURRENT_TIMESTAMP默认当前和ON UPDATE CURRENT_TIMESTAMP更新时子句。 默认当前时间戳和更新时当前时间戳的使用特定于时间戳和日期时间。DEFAULT子句也可用于指定常量非自动默认值例如DEFAULT 0或DEFAULT’2000-01-01 00:00:00’。#### 2.1 案例1默认为当前时间戳也会自动更新为最新时间戳。 CREATE TABLE t1 ( ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); #### 2.2 案例2默认为当前时间戳不会自动更新为最新时间戳。 CREATE TABLE t1 ( ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ); #### 2.3 案例3默认为一个常量不会自动更新为最新时间戳。 CREATE TABLE t1 ( ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ); #### 2.4 案例4默认为一个常量会自动更新为最新时间戳。 CREATE TABLE t1 ( ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP, dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP ); #### 2.5 案例5设置默认值会自动更新为最新时间戳。如Timestamp类型的字段未设置默认值默认为0否则以设置为准。 CREATE TABLE t1 ( ts1 TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, – default 0 ts2 TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP – default NULL ); 同样除非使用NOT NULL定义否则Datetime的默认值为0 CREATE TABLE t1 ( dt1 DATETIME ON UPDATE CURRENT_TIMESTAMP, – default NULL dt2 DATETIME NOT NULL ON UPDATE CURRENT_TIMESTAMP – default 0 ); 结语–本文对MySQL中的日期/时间类型进行重点说明和介绍有助于我们在建库建表时应选择何种类型提供依据或建议。走过的、路过的盆友们点点赞收收藏并加以指导以备不时之需哈~* *精彩回放----*MySQL系列之数据类型Numeric MySQL系列之远程管理安全 MySQL系列之身份鉴别安全 MySQL系列之数据授权安全 MySQL系列之如何在Linux只安装客户端 MySQL系列之如何正确的使用窗口函数基于8.0版本 MySQL系列之数据导入导出 MySQL系列之索引入门上 MySQL系列之索引入门下* *

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号