mysql创建时间字段6_mysql 时间字段介绍

mysql时间类型大概有5种,如下图

ab7fbcd7409360c8222ca35ad7d2f641.png

1、创建数据库

create table t1 (

id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,

d1_data date,

d2_time time,

d3_datatime datetime,

d4_year year,

d5_timestamp TIMESTAMP

);

字符串方式插入

INSERT INTO t1 (d1_data,d2_time,d3_datatime,d4_year,d5_timestamp) VALUES(NOW(),NOW(),NOW(),NOW(),NOW());

mysql> select * from t1 where id=1\G

*************************** 1. row ***************************

id: 1

d1_data: 2018-06-15

d2_time: 13:50:25

d3_datatime: 2018-06-15 13:50:25

d4_year: 2018

d5_timestamp: 2018-06-15 13:50:25

1 row in set (0.00 sec)

INSERT INTO t1 (d1_data,d2_time,d3_datatime,d4_year,d5_timestamp) VALUES(‘2018-06-15‘,‘13:50:25‘,‘2018-06-15 13:50:25‘,‘2018‘,‘2018-06-15 13:50:25‘);

mysql> select * from t1 where id=2\G

*************************** 1. row ***************************

id: 2

d1_data: 2018-06-15

d2_time: 13:50:25

d3_datatime: 2018-06-15 13:50:25

d4_year: 2018

d5_timestamp: 2018-06-15 13:50:25

1 row in set (0.00 sec)

1.1、date (数字插入)

mysql> help DATE

A date. The supported range is ‘1000-01-01‘ to ‘9999-12-31‘. MySQL

displays DATE values in ‘YYYY-MM-DD‘ format, but permits assignment of

values to DATE columns using either strings or numbers.

插入时候可以是字符串或者数字

20180615

‘2018-06-15‘

1.2、time (数字插入)

mysql> help TIME

A time. The range is ‘-838:59:59.000000‘ to ‘838:59:59.000000‘. MySQL

displays TIME values in ‘HH:MM:SS[.fraction]‘ format, but permits

assignment of values to TIME columns using either strings or numbers.

An optional fsp value in the range from 0 to 6 may be given to specify

fractional seconds precision. A value of 0 signifies that there is no

fractional part. If omitted, the default precision is 0.

mysql> INSERT INTO t1 (d1_data,d2_time,d3_datatime,d4_year,d5_timestamp) VALUES(20180515,135025,‘2018-06-15 13:50:25‘,‘2018‘,‘2018-06-15 13:50:25‘);

Query OK, 1 row affected (0.00 sec)

mysql> select * from t1 where id=4\G

*************************** 1. row ***************************

id: 4

d1_data: 2018-05-15

d2_time: 13:50:25

d3_datatime: 2018-06-15 13:50:25

d4_year: 2018

d5_timestamp: 2018-06-15 13:50:25

1 row in set (0.00 sec)

1.3、 DATETIME (数字插入)

mysql> help DATETIME

A date and time combination. The supported range is ‘1000-01-01

00:00:00.000000‘ to ‘9999-12-31 23:59:59.999999‘. MySQL displays

DATETIME values in ‘YYYY-MM-DD HH:MM:SS[.fraction]‘ format, but permits

assignment of values to DATETIME columns using either strings or

numbers.

An optional fsp value in the range from 0 to 6 may be given to specify

fractional seconds precision. A value of 0 signifies that there is no

fractional part. If omitted, the default precision is 0.

Automatic initialization and updating to the current date and time for

DATETIME columns can be specified using DEFAULT and ON UPDATE column

definition clauses, as described in

http://dev.mysql.com/doc/refman/5.7/en/timestamp-initialization.html.

20180615135025

‘2018-06-15 13:50:25‘

存储的是字符串

mysql> INSERT INTO t1 (d1_data,d2_time,d3_datatime,d4_year,d5_timestamp) VALUES(20180515,135025,20180615135025,‘2018‘,‘2018-06-15 13:50:25‘);

Query OK, 1 row affected (0.01 sec)

mysql> select * from t1 where id=5\G

*************************** 1. row ***************************

id: 5

d1_data: 2018-05-15

d2_time: 13:50:25

d3_datatime: 2018-06-15 13:50:25

d4_year: 2018

d5_timestamp: 2018-06-15 13:50:25

1 row in set (0.00 sec)

1.4、 year

mysql> help year

Returns the year for date, in the range 1000 to 9999, or 0 for the

"zero" date.

1.5、 timestamp (数字插入)

mysql> help timestamp

A timestamp. The range is ‘1970-01-01 00:00:01.000000‘ UTC to

‘2038-01-19 03:14:07.999999‘ UTC. TIMESTAMP values are stored as the

number of seconds since the epoch (‘1970-01-01 00:00:00‘ UTC). A

TIMESTAMP cannot represent the value ‘1970-01-01 00:00:00‘ because that

is equivalent to 0 seconds from the epoch and the value 0 is reserved

for representing ‘0000-00-00 00:00:00‘, the "zero" TIMESTAMP value.

存储的是时间戳

mysql> INSERT INTO t1 (d1_data,d2_time,d3_datatime,d4_year,d5_timestamp) VALUES(20180515,135025,20180615135025,‘2018‘,20180615135025);

Query OK, 1 row affected (0.01 sec)

总结

以上说明 在插入或者更新时候,值可以是 ‘2018-06-06‘ 时间类型字符串 也可以是 20180606 数字,都会经过mysql函数处理存入

100w条数据 比较datatime跟timestamp效率

2、 准备100w条数据

drop PROCEDURE autoinsert;

DELIMITER $$

create PROCEDURE autoinsert()

BEGIN

DECLARE i int DEFAULT 1;

DECLARE mytime varchar(19) ;

WHILE (i<1000000) DO

set mytime=date_add(now(),interval i second);

INSERT into t1 (d1_data,d2_time,d3_datatime,d4_year,d5_timestamp) VALUES (mytime,mytime,mytime,date_add(now(),interval i second),mytime);

set i=i+1;

END WHILE ;

END $$

DELIMITER ;

CALL autoinsert();

d2f8f5ee2d1f81957dde3bbfc60e2907.png

2.1、datetime 分析:

没有索引情况下:

d1ad7f0a2e9b05eca213b063e4011f32.png

21775f940509ed245176fc1ad2593ef1.png

大概需要0.22s

添加索引

mysql> alter table t1 add key (d3_datatime);

2bbb34d88eab9bd7772283b5edf413a2.png

caffeb3846759e7dd14957d2a0904281.png

2.2、timestamp分析

没有索引情况下:

380a0db351ff4912b386fb2aad8d8184.png

344955c514727c176c1bf44e65fb7c4b.png

需要0.4s左右

添加索引情况后:

ALTER TABLE `t1` add key (d5_timestamp);

c066f841b7d5abe09ae42fa77fe80f07.png

091f45b3d86b9aa0c48b98160bb10db0.png

100w条数据的理论,datetime比timestamp更快点,底层比较应该都是数字,timestamp可能在时间转换上消耗更好点吧,在加上索引情况下是没有区别的,从空间上考虑datetime需要8个字节,而timestamp只要4个字节。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571540.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装Python 3.6 在Ubuntu 16.04 LTS 版本

在ubuntu 16.04版本中&#xff0c;系统默认安装 了python 2.7和3.5版本&#xff0c;因为系统本身用到python的程序&#xff0c;删除默认的版本又担心系统有问题&#xff0c;那有没有办法同时在安装和使用python 3.6版本呢&#xff1f;下文将一起安装python 3.6并修改原系统的py…

matlab动画_弹簧振子振动的matlab动画演示

用Matlab阐述物理中的胡克定律&#xff0c;为弹簧振子震动的matlab动画示意图&#xff0c;另有一个为不同质量不同弹簧系数的比较。spring.m,compare.mrectangle(position,[12,8.5,2,0.3],FaceColor,[0.5,0.3,0.4]); axis([0,15,-1,10]); hold on plot([13,13],[7,8.5],r,li…

svn合并分支到主干_谈谈代码分支管理

前言从2019年上半年云音乐的客户端团队开始迁移到双周迭代后&#xff0c;随之而来的是我们需要重新调整代码分支的管理方法&#xff0c;来应对开发流程的变更。双周迭代顾名思义一周开发一周测试&#xff0c;目的就是为了快速交付。纵观整个开发流程&#xff0c;我们需要在两周…

ctf实验平台-成绩单

题目链接&#xff1a;http://120.24.86.145:8002/chengjidan/ 平台地址&#xff1a;http://123.206.31.85/ 第一步&#xff1a;暴库 id-1 union select 1,2,3,group_concat(schema_name) from information_schema.schemata# 第二步&#xff1a;爆表 id-1 union select 1,2,3,ta…

python 扫描仪_玩《Minecraft我的世界》学python编程,可领|取电子学习版本

为何选择学习pythonpython是一种解释型、面向对象、动态数据类型的高级程序设计语言&#xff0c;它具有丰富和强大的库&#xff0c;能够把其它语言&#xff08;尤其是c&#xff09;制作的各种模块很轻松地联结在一起。pyton在编程语言排行榜中高居首位。[求抱抱]编程听起来很高…

vue中使用导出表格功能

1.下载依赖 npm install -S file-saver xlsxnpm install -D script-loader 2.在src下创建vendor文件夹&#xff0c;并在文件夹中放两个文件 Blob.js (function (view) {"use strict";view.URL view.URL || view.webkitURL;if (view.Blob && view.URL) {try …

adb shell 书籍_开发必备---你应该知道的一些 ADB 命令

版权声明&#xff1a;本文为LooperJing原创文章&#xff0c;转载请注明出处&#xff01;一、设备相关1、adb devices显示连接到计算机的设备List of devices attachedbe34d81e device输出格式为 [serialNumber] [state]&#xff0c;state 有如下几种&#xff1a;列名解释nodevi…

python生成器迭代_二十、深入Python迭代器和生成器

「Author&#xff1a;Runsen」学习python的过程中&#xff0c;迭代器与生成器是绕不开的话题&#xff0c; 什么是迭代器和生成器呢&#xff1f;下面我们来了解一下什么是迭代。但在了解迭代器之前&#xff0c;首先需要知道什么是容器。容器正所谓&#xff1a;一切都是对象&…

批改网禁止粘贴怎么破_重大利好!教育部声明,要求家长批改作业等行为,发现一起严处一起...

前段时间&#xff0c;在江苏一位家长发布短视频&#xff0c;他在视频中怒喊&#xff1a;我就退出家长群怎么了&#xff01;引起网上一阵热议起因是这位家长认为老师总是让家长帮忙批改作业&#xff0c;自己承担了太多教师应负的责任&#xff0c;完了还要昧着良心说老师你辛苦了…

mysql实验步骤_MySQL双方配置实验步骤

实验环境&#xff1a;两台MariaDB服务器&#xff0c;IP分别为&#xff1a; 172.16.2.16 和 172.16.2.17MariaDB的版本是5.5.36&#xff0c;使用二进制方式安装。已安装完成。/mydata/data 数据库文件存放目录/mydata/binlog/ 二进制日志文件存放位置/mydata/relaylog/ 中继日志…

mac 系统安装 eclipse 方法

经过好几天的折腾&#xff0c;终于在各种不靠谱的经验、说明的忽悠中把自己心爱的 mac 安装上了 eclipse&#xff0c;看到别人的不靠谱&#xff0c;我决定自己写一篇经验&#xff0c;为了大家能够不走我这么多的弯路&#xff0c;也为了自己将来可以回来看看&#xff0c;下次安装…

python自动化和教程_《手把手教你》系列练习篇之2-python+ selenium自动化测试(详细教程)...

1. 简介今天我们还是继续练习练习基本功&#xff0c;各位小伙伴要耐住住性子&#xff0c;要耐得住寂寞啊&#xff0c;不要急躁&#xff0c;后面你会感谢你在前边的不断练习的。到后面也是检验你前边的学习成果的一次很好实践。本文介绍如何通过link text、partial link text、c…

异常在哪一层处理_WiFi速度慢,信号不稳定,除了重启路由器外,自己能怎么处理?...

前言WiFi出了故障&#xff0c;速度慢&#xff0c;信号不稳定&#xff0c;自己处理&#xff0c;除了重启路由器&#xff0c;也没有什么别的招了&#xff1b;好在这万能重启&#xff0c;差不多能解决一大半的小故障&#xff1b;那信号不好&#xff0c;速度慢&#xff0c;不稳定&a…

linux运维、架构之路-HAProxy反向代理

一、HAProxy介绍 专业反向代理,支持双机热备支持虚拟主机,配置简单,拥有非常不错的服务器健康检查功能,当其代理的后端节点出现故障, HAProxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入&#xff0c;基于TCP和HTTP应用的代理软件&#xff0c;开源免费、快速并且可靠的…

CSS3 3D transform变换

transform的坐标是需要了解的特性。 我们的rotateX,rotateY,rotateZ,和translateX,translateY等都是基于相同的坐标系来定位的。 3D的坐标如下入所示&#xff1a; 3D transform中有下面这三个方法&#xff1a; rotateX( angle )rotateY( angle )rotateZ( angle )理解了这三个方…

vba结束本次循环进行下次_VBA掌握循环结构,包你效率提高500倍

这是系列免费教程《Excel VBA&#xff1a;办公自动化》&#xff0c;还是老规矩&#xff0c;看看我们走到哪里了。1.认识VBA&#xff1a;什么是VBA&#xff1f;2.这些掌握了&#xff0c;你才敢说自己懂VBA3.VBA变量5年踩坑吐血精华总结4.VBA中重要的强制申明&#xff0c;谁看谁明…

CefSharp 支持MP4

效果图&#xff1a; 下载链接&#xff1a;https://share.weiyun.com/d1e249ef5c56b4d909b2124dc2dd8902 创建Wpf项目引用 如下&#xff1a; 第一步&#xff1a;创建项目引用CefSharp 第二步&#xff1a;将DLL拷贝到运行项目的Debug下 第三步&#xff1a;项目平台设置32位 第四…

ReentrantLock 分析

带着疑问去分析 ReentrantLock是如何实现锁管理的。ReentrantLock是如何实现重入的。ReentrantLock是如何实现公平锁与非公平锁。ReentantLock的公平锁为什么一般情况下性能都比公平锁查。ReentrantLock数据结构 ReentrantLock的底层是借助于AbstractQueuedSynchronizer实现的&…

v4l2 框架下如何设置分辨率_Linux下如何进行FTP设置

目录&#xff1a; 一、Redhat/CentOS安装vsftp软件二、Ubuntu/Debian安装vsftp软件一、Redhat/CentOS安装vsftp软件1.更新yum源yum update -y2.安装vsftpyum install vsftpd -y3.修改配置文件vi /etc/vsftpd/vsftpd.conf # 原有初始配置 local_umask022 dirmessage_enableYES x…

2017-2018-1 20155213 《信息安全系统设计基础》第十一周学习总结

2017-2018-1 20155213 《信息安全系统设计基础》第十一周学习总结 【学习内容:第九章——虚拟存储器】 一、课本内容梳理 1.虚拟存储器 作用&#xff1a; 将主存看作是一个存储在磁盘上的地址空间的高速缓存&#xff0c;在主存中只保护活动的区域&#xff0c;并根据需要在磁盘和…