MySQL中DATETIME、DATE和TIMESTAMP类型的区别
一、TIMESTAMP
显示格式:YYYY-MM-DD HH:MM:SS
时间范围:[ '1970-01-01 00:00:00'到'2037-12-31 23:59:59']
TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 在创建新记录和修改现有记录的时候都对这个数据列刷新。
TIMESTAMP DEFAULT CURRENT_TIMESTAMP 在创建新记录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它。
TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 在创建新记录的时候把这个字段设置为0,以后修改时刷新它。
TIMESTAMP DEFAULT ‘yyyy-mm-dd hh:mm:ss’ ON UPDATE CURRENT_TIMESTAMP 在创建新记录的时候把这个字段设置为给定值,以后修改时刷新它
1、TIMESTAMP列不为空时,默认值可以为“0000-00-00 00:00:00”,但不能为null。
2、一个表可以存在多个TIMESTAMP列,但一个表只有一个TIMESTAMP类型的字段可以在默认值或者UPDATE部分用CURRENT_TIMESTAMP,即设置为数据更新而改变为数据库系统当前值。
3、TIMESTAMP列的默认值是CURRENT_TIMESTAMP常量值。当纪录数据发生变化的时候,TIMESTAMP列会自动将其值设定为CURRENT_TIMESTAMP。
4、TIMESTAMP列创建后的格式是:
ALTER TABLE `course`
ADD COLUMN `birthday` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
ALTER TABLE `course`
ADD COLUMN `birthday` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP ;
ALTER TABLE `course`
ADD COLUMN `birthday` timestamp NULL AFTER `cname`;
二、DATETIME
显示格式:YYYY-MM-DD HH:MM:SS
时间范围:[ '1000-01-01 00:00:00'到'9999-12-31 23:59:59']
三、DATE
显示格式:YYYY-MM-DD
时间范围:['1000-01-01'到'9999-12-31']
四、日期格式转换
1、字符串转日期
select STR_TO_DATE('2013-01-29 13:49:18', '%Y-%m-%d %H:%i:%s')
2、日期转字符串
select DATE_FORMAT('2013-01-29 13:49:18', '%Y-%m-%d %H:%i:%s')
五、日期的中常用的年月日时分秒星期月份等获取方法
select TIMESTAMP('2013-01-29 13:50:27');
select DATE('2013-01-29 13:50:27');
select YEAR('2013-01-29 13:50:27');
select MONTH(('2013-01-29 13:50:27');
select WEEK('2013-01-29 13:50:27');
select DAY('2013-01-29 13:50:27');
select TIME('2013-01-29 13:50:27');
select CURTIME();
select CURDATE();
select CURRENT_DATE;
select CURRENT_TIME;
select CURRENT_TIMESTAMP;
select NOW()
六、日期的运算:
SELECT DATE_ADD('2013-01-29 13:50:27', INTERVAL 1 DAY);
-> '2013-01-30 13:50:27'
SELECT DATE_ADD('2013-01-29 13:50:27', INTERVAL 1 HOUR);
-> '2013-01-29 14:50:27'
SELECT DATE_ADD('2013-01-29 13:50:27', INTERVAL 1 MONTH);
-> '2013-02-28 13:50:27'
MySQL中DATETIME、DATE和TIMESTAMP类型的区别的更多相关文章
- MySQL中TEXT与BLOB字段类型的区别
这篇文章主要介绍了MySQL中TEXT与BLOB字段类型的区别,本文总结了6大区别,需要的朋友可以参考下 在MySQL中有两个字段类型容易让人感觉混淆,那就是TEXT与BLOB,特别是自己写博客程 ...
- mysql中Numeric类型和int类型的区别
首先记一下,Numeric数字数据只包含 数字.数字数据包括正数.负数.小数.分数和整数 例子如下: Numeric(6,2) Numeric(16,6) Numeric(16,0) 从左到右,第一个 ...
- 解决python写入mysql中datetime类型遇到的问题
解决python写入mysql中datetime类型遇到的问题 刚开始使用python,还不太熟练,遇到一个datetime数据类型的问题: 在mysql数据库中,有一个datetime类型的字段用于 ...
- mysql 中 DATE_ADD(date,INTERVAL expr type)
在Hiredmyway中: SELECT if(LENGTH(company_name) > 30, concat(SUBSTRING(company_nam ...
- MySQL中char、varchar和text的区别
三者空间占用方面: char:存储定长数据很方便,CHAR字段上的索引效率极高,可以有默认值,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间(自动用空格填 ...
- mysql中的where和having子句的区别
mysql中的where和having子句的区别 having的用法 having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句 ...
- mysql中 REPLACE INTO 和 INSERT INTO 的区别
mysql中 REPLACE INTO 和 INSERT INTO 的区别 REPLACE INTO 和 INSERT INTO 功能类似,都是像表中插入数据,不同点在于:REPLACE INTO 首 ...
- mysql中 drop、truncate和delete的区别
mysql中drop.truncate和delete的区别 (1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作. TRUNC ...
- mysql中的date、datetime、timestamp你还不知道怎么使用吗
在后端开发中经常会碰到涉及数据库的场景,不知道屏幕前的你有这样的疑惑没有,每每在遇到时间.日期字段总是让人头疼,分不清到底是选date还是datetime,亦或是timestamp,真是抓耳挠腮啊,怎 ...
随机推荐
- usb中的传输模式
别人总结的一个usb传输模式,保存一下 usb中的endpoint(端点)和传输模式 端点: 端点位于USB 外设内部,所有通信数据的来源或目的都基于这些端点,是一个可寻址的FIFO. 每个USB 外 ...
- IRLS(迭代加权最小二乘)
IRLS用于解决这种目标函数的优化问题(实际上是用2范数来近似替代p范数,特殊的如1范数). 可将其等价变形为加权的线性最小二乘问题: 其中W(t)可看成对角矩阵,每步的w可用下面的序列代替 如果 p ...
- Oracle分页查询=======之伪列的使用
========伪列========== 在Oracle数据库中,伪列不存在表中,但是可以从表中查询到 例如:SELECT ROWID 伪列,tname 教师姓名 FROM teacher; ==== ...
- i.
史上最全web.xml配置文件元素详解 一.web.xml配置文件常用元素及其意义预览 <!--servlet API的版本2.3增加了对事件监听程序的支持,事件监听程序在建立.修改和删除会话或 ...
- vue 2.0
vue2.0 据说也出了很久了,博主终于操了一次实刀. 整体项目采用 vue + vue-router + vuex (传说中的vue 全家桶 ),构建工具使用尤大大推出的vue-cli 项目是 ...
- css3动画参数解释
@keyframes规定动画.animation 所有动画属性的简写属性,除了 animation-play-state 属性. ----------------------------------- ...
- windows下安装beautifulsoup4
方法一: pip install beautifulsoup4 方法二: 在官网下载安装包后,放在python目录下--运行cmd--进入bs4安装包路径--输入setup.py install 测试 ...
- pdf预览-js版本
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- html中offsetTop、clientTop、scrollTop、offsetTop各属性介绍
例如:$('window').scrollTop()获取的就是当前这个页面超出窗口最上端的高度,scrollLeft与此同理 scrollHeight: 获取对象的滚动高度. scrollLeft:该 ...
- Java注解入门
注解的分类 按运行机制分: 源码注解:只在源码中存在,编译后不存在 编译时注解:源码和编译后的class文件都存在(如@Override,@Deprecated,@SuppressWarnin ...