iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中怎么操作日期和时间
  • 508
分享到

MySQL中怎么操作日期和时间

2024-04-02 19:04:59 508人浏览 安东尼
摘要

今天就跟大家聊聊有关Mysql中怎么操作日期和时间,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。日期和时间函数对建立一个站点是非常有用的。站点的主人

今天就跟大家聊聊有关Mysql中怎么操作日期和时间,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

日期和时间函数对建立一个站点是非常有用的。站点的主人往往对一个表中的数据何时被更新感兴趣。通过日期和时间函数,你可以在秒级跟踪一个表的改变。

日期和时间类型是DATETIME、DATE、TIMESTAMP、TIME和YEAR。这些的每一个都有合法值的一个范围,而“零”当你指定确实不合法的值时被使用。注意,mysql允许你存储某个“不严格地”合法的日期值,例如1999-11-31,原因我们认为它是应用程序的责任来处理日期检查,而不是sql服务器。为了使日期检查更“快”,MySQL仅检查月份在0-12的范围,天在0-31的范围。上述范围这样被定义是因为MySQL允许你在一个DATE或DATETIME列中存储日期,这里的天或月是零。这对存储你不知道准确的日期的一个生日的应用程序来说是极其有用的,在这种情况下,你简单地存储日期象1999-00-00或1999-01-00。(当然你不能期望从函数如DATE_SUB()或DATE_ADD()得到类似以这些日期的正确值)。

返回当前日期和时间

通过函数GETDATE(),你可以获得当前的日期和时间。例如,

CURDATE() 返回当前日期

CURRENT_DATE

以YYYY-MM-DD或YYYYMMDD格式返回今天日期值,取决于函数是在一个字符串还是数字上下文被使用。

> select CURDATE();

+------------+

| CURDATE()  |

+------------+

| 2001-02-20 |

+------------+

mysql> select CURDATE() + 0;

+-------------+

| CURDATE()+0 |

+-------------+

|    20010220 |

+-------------+

CURTIME() 返回当前时间

以HH:MM:SS或HHMMSS格式返回当前时间值,取决于函数是在一个字符串还是在数字的上下文被使用。

mysql> select CURTIME();

+-----------+

| CURTIME() |

+-----------+

| 10:42:38  |

+-----------+

mysql> select CURTIME() + 0;

+-------------+

| CURTIME()+0 |

+-------------+

|      104525 |

+-------------+

NOW() 返回当前时期和时间

NOW()以YYYY-MM-DD HH:MM:SS的格式或者YYYYMMDDHHMMSS的格式返回日期和时间值,取决于上下文。

mysql>select now();

+---------------------+

| now()               |

+---------------------+

| 2001-02-20 10:45:57 |

+---------------------+

mysql>select now()+0;

+----------------+

| now()+0        |

+----------------+

| 20010220105635 |

+----------------+

这些得到当前日期和时间的函数,对于日期和时间的计算很方便,尤其是计算一个时间到现在的时间差。例如,在pet表中,我们以天为单位计算宠物的年龄:

mysql> SELECT name,CURDATE()-birth FROM pet;

+----------+-----------------+

| name     | CURDATE()-birth |

+----------+-----------------+

| Fluffy   |           80016 |

| Claws    |           69903 |

| Buffy    |          119707 |

| Chirpy   |           29309 |

| Fang     |          109393 |

| Bowser   |          109389 |

| Whistler |           39011 |

| Slim     |           49791 |

| Puffball |           19890 |

+----------+-----------------+


 自动记录数据的改变时间

TIMESTAMP列类型提供一种类型,TIMESTAMP值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作。如果你有多个TIMESTAMP列,只有第一个自动更新。

自动更新第一个TIMESTAMP列在下列任何条件下发生:

列没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。

列没有明确地在一个UPDATE语句中指定且一些另外的列改变值。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)

你明确地设定TIMESTAMP列为NULL.

除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。

例如,创建如下的表:

mysql> CREATE TABLE student
-> (
-> id int,
-> name char(16),
-> english tinyint,
-> chinese tinyint,
-> history tinyint,
-> time timestamp
-> );


向表中插入记录,可以查看效果:

mysql> INSERT student(id,name,englisht,Chinese,history) VALUES(11,”Tom”,66,93,67);

查看记录的存储情况:

mysql> SELECT * FROM student;

+------+---------+---------+---------+---------+----------------+

| id   | name    | english | chinese | history | time           |

+------+---------+---------+---------+---------+----------------+

|   11 | Tom     |      66 |      93 |      67 | 20010220123335 |

+------+---------+---------+---------+---------+----------------+

你可以看到time列纪录下了数据录入时的时间值。如果你更新改记录,在查看操作的结果:

mysql> UPDATE student SET english=76 WHERE id=11;
mysql> SELECT * FROM student;


+------+------+---------+---------+---------+----------------+

| id   | name | english | chinese | history | time           |

+------+------+---------+---------+---------+----------------+

|   11 | Tom  |      76 |      93 |      67 | 20010220125736 |

+------+------+---------+---------+---------+----------------+

可以清楚的看到,time列的时间被自动更改为修改记录的时间。

有时候你希望不更改任何值,也能打到修改TIMESTAMP列的值,这时只要设置该列的值为NULL,MySQL就可以自动更新TIMESTAMP列的值:

mysql> UPDATE student SET time=NULL WHERE id=11;

mysql> select * from student where id=11;

+------+------+---------+---------+---------+----------------+

| id   | name | english | chinese | history | time           |

+------+------+---------+---------+---------+----------------+

|   11 | Tom  |      76 |      93 |      67 | 20010220130517 |

+------+------+---------+---------+---------+----------------+

通过明确地设置希望的值,你可以设置任何TIMESTAMP列为不同于当前日期和时间的值,即使对第一个TIMESTAMP列也是这样。例如,如果,当你创建一个行时,你想要一个TIMESTAMP被设置到当前的日期和时间,但在以后无论何时行被更新时都不改变,你可以使用这样使用:

让MySQL在行被创建时设置列,这将初始化它为当前的日期和时间。

当你执行随后的对该行中其他列的更改时,明确设定TIMESTAMP列为它的当前值。

例如,当你在修改列时,可以把原有的值付给TIMESTAMP列:

mysql> UPDATE student SET english=66,time=time WHERE id=11;
mysql> select * from student where id=11;


+------+------+---------+---------+---------+----------------+

| id   | name | english | chinese | history | time           |

+------+------+---------+---------+---------+----------------+

|   11 | Tom  |      66 | &nb

看完上述内容,你们对MySQL中怎么操作日期和时间有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网数据库频道,感谢大家的支持。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中怎么操作日期和时间

本文链接: https://www.lsjlt.com/news/57106.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL中怎么操作日期和时间
    今天就跟大家聊聊有关MySQL中怎么操作日期和时间,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。日期和时间函数对建立一个站点是非常有用的。站点的主人...
    99+
    2024-04-02
  • Linux中怎么实现日期和时间操作
    这篇文章给大家介绍Linux中怎么实现日期和时间操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。如何查看系统的日期和时间 $ date Tue Oct 16 11:18:32 CST 2012 date支持格式化输出...
    99+
    2023-06-13
  • 怎么使用PHP操作日期和时间
    本文小编为大家详细介绍“怎么使用PHP操作日期和时间”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用PHP操作日期和时间”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、操作日期和时间 在 PHP 中,有...
    99+
    2023-07-05
  • PHP中的日期和时间操作指南
    在PHP开发中,日期和时间操作是必不可少的一部分。无论是处理用户注册时间,还是记录文章发布时间,都需要对日期和时间进行处理。本文将详细介绍在PHP中如何对日期和时间进行操作,希望能够帮助到PHP开发者。一、时间戳时间戳是一种以秒为单位表示时...
    99+
    2023-05-22
    指南 PHP 日期 时间操作
  • 怎么使用SQLite进行日期和时间操作
    在SQLite中,可以使用日期和时间函数来进行日期和时间操作。以下是一些常用的日期和时间函数以及如何使用它们: 获取当前日期和时间...
    99+
    2024-03-11
    SQLite
  • Java8 日期、时间操作代码
    目录一、简介本地化日期时间 API使用时区的日期时间API二、日期初识三、时间初识四、比较与计算五、时区六、格式化七、相关类说明java8时间使用小结一、简介   在Java8之前,...
    99+
    2024-04-02
  • mysql怎么取日期中的时间
    在mysql中获取日期中时间的方法首先,在命令行中启动mysql服务;service mysql start  MySQL服务启动后,在命令行中输入mysql的用户名和密码登录到mysql;mysql -u root -p登录到mysql后...
    99+
    2024-04-02
  • linux shell下日期时间的操作
    这篇文章主要介绍“linux shell下日期时间的操作”,在日常操作中,相信很多人在linux shell下日期时间的操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux shell下日期时间的操作...
    99+
    2023-06-13
  • PHP DateTime 扩展的时间大师:精通日期和时间操作
    PHP DateTime 扩展是一个强大的工具,用于操作和管理 PHP 中的日期和时间。它提供了广泛的功能,从基本操作(例如比较和格式化)到更高级的任务(例如处理时区和计算相对日期)。 基本操作 DateTime 类的核心功能包括: 创...
    99+
    2024-04-02
  • Perl中怎么处理日期和时间
    在Perl中处理日期和时间通常使用DateTime模块,这个模块提供了一些方便的方法来处理日期和时间。以下是一些常见的操作: 创建...
    99+
    2024-03-05
    Perl
  • C#中怎么处理日期和时间
    在C#中处理日期和时间有许多内置的类和方法可供使用。以下是一些常用的方法: 获取当前日期和时间: DateTime now = ...
    99+
    2024-03-07
    C#
  • PHP中日期时间和时间戳之间怎么转换
    这篇文章主要介绍“PHP中日期时间和时间戳之间怎么转换”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP中日期时间和时间戳之间怎么转换”文章能帮助大家解决问题。将日期时间转换为时间戳在 PHP 中...
    99+
    2023-07-05
  • PHP和MySQL中怎么将日期转换为时间戳
    对于 PHP 和 MySQL 开发者来说,转换日期戳和时间戳已经成为了日常工作中的必修课,但是对于新手来说,这似乎一件困难的任务。在本文中,我们将讨论如何在 PHP 和 MySQL 中将日期转换为时间戳。PHP 中日期戳转时间戳在 PHP ...
    99+
    2023-05-14
    php mysql 时间戳
  • mysql中当前日期和时间的函数
    mysql 中获取当前日期和时间的函数共有三个:1. now() 函数:返回当前日期和时间,格式为 'yyyy-mm-dd hh:mm:ss';2. curdate() 函数:返回当前日...
    99+
    2024-04-29
    mysql
  • mysql中如何计算日期和时间的间隔
    这篇文章主要介绍mysql中如何计算日期和时间的间隔,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:我们首先得明确一点,mysql间隔值主要用于日期和时间计算,如果我们要要创...
    99+
    2024-04-02
  • MySQL中按日期和时间降序排序?
    让我们创建一个表来按升序对日期和时间进行排序。创建表的查询如下 -mysql> create table SortByDateAndTime -> ( -> UserId int, -> UserN...
    99+
    2023-10-22
  • mysql中当前日期和时间的函数
    mysql 中获取当前日期和时间的函数共有三个:1. now() 函数:返回当前日期和时间,格式为 'yyyy-mm-dd hh:mm:ss';2. curdate() 函数:返回当前日...
    99+
    2024-04-29
    mysql
  • python日期和时间
    python中常用的处理时间的模块有两个:time 模块、datetime 模块,time模块是比较基础的一个模块,可满足对时间类型数据的基本处理;而 datetime模块可以看做是 对time模块的一个高级封装,功能更加强大,例如在时间...
    99+
    2023-01-31
    日期 时间 python
  • Mysql中日期时间的加减
    Mysql中日期时间的加减,可以使用date_add()函数和date_sub()函数 1、date_add()为日期增加一个时间间隔 语法格式为: DATE_ADD(date,INTERVAL ex...
    99+
    2023-10-25
    mysql 数据库
  • mysql中怎么实现日期加减操作
    mysql中怎么实现日期加减操作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 1. MySQL 为日期增加一个时间间隔:date_ad...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作