mysql时间函数

MySQL进阶篇(01):基于多个维度,分析服务器性能

核能气质少年 提交于 2020-04-08 00:59:08
本文源码: GitHub·点这里 || GitEE·点这里 一、服务器性能简介 1、性能定义 服务器性能优化是一项非常艰巨的任务,当然也是很难处理的问题,在写这篇文章的时候,特意请教下运维大佬,硬件工程师,数据库管理,单从自己的实际开发经验来看,看待这个问题的角度起码是不全面的。 补刀一句 :在公司靠谱少撕逼,工程师这个群体是很好交朋友的,互相学习一起进步,升职加薪他不好吗? 服务性能定义:完成一个任务或者处理一次接口请求所需要的时间,这个时间是指响应完成时间,即请求发出,到页面响应回显结束,这是看待性能问题的基本逻辑。 2、分析性能 服务的基本过程一般如下图,这是一张最简单的前后端分离,加一台数据库存储的流程,但是想要说明一个复杂的逻辑。 从页面请求,到获取完整的响应结果,这个过程每个环节都可能导致性能问题,抛开网络,硬件,服务器,MySQL存储这些核心客观因素,单是下面这行代码就可以秒掉很多人的努力。 Thread.sleep(10000); // 仿佛整个世界都安静了。 影响性能的因素很多,一般说性能优化会从下面几个方面考虑: 网络传输,比如私有云和公有云的交互,接口传输内容过大; 应用服务,接口设计是否最简,没有逻辑问题,架构设计是否合理; 存储服务,MySQL的查询写入,表设计是否合理,连接池配置是否合理; 硬件设施,CPU和内存的利用是否在合理区间,缓存是否合理;

【转】 mysql格式化日期

社会主义新天地 提交于 2020-04-07 17:52:34
原文地址: https://www.cnblogs.com/shuilangyizu/p/8036620.html mysql查询记录如果有时间戳字段时,查看结果不方便,不能即时看到时间戳代表的含义,现提供mysql格式换时间函数,可以方便的看到格式化后的时间。 1. DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。 DATE_FORMAT(date,format) format参数的格式有 %a 缩写星期名 %b 缩写月名 %c 月,数值 %D 带有英文前缀的月中的天 %d 月的天,数值(00-31) %e 月的天,数值(0-31) %f 微秒 %H 小时 (00-23) %h 小时 (01-12) %I 小时 (01-12) %i 分钟,数值(00-59) %j 年的天 (001-366) %k 小时 (0-23) %l 小时 (1-12) %M 月名 %m 月,数值(00-12) %p AM 或 PM %r 时间,12-小时(hh:mm:ss AM 或 PM) %S 秒(00-59) %s 秒(00-59) %T 时间, 24-小时 (hh:mm:ss) %U 周 (00-53) 星期日是一周的第一天 %u 周 (00-53) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53)

MYSQL 中常用日期时间函数使用

ぐ巨炮叔叔 提交于 2020-04-06 07:14:31
MySQL Date 函数 下面的表格列出了 MySQL 中最重要的内建日期函数: 函数 描述 NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 DATE() 提取日期或日期/时间表达式的日期部分 EXTRACT() 返回日期/时间按的单独部分 DATE_ADD() 给日期添加指定的时间间隔 DATE_SUB() 从日期减去指定的时间间隔 DATEDIFF() 返回两个日期之间的天数 DATE_FORMAT() 用不同的格式显示日期/时间 SELECT NOW ();/*2013-10-25 15:24:12*/ SELECT UNIX_TIMESTAMP ();/*1382685853*/ SELECT from_unixtime (137123321); /* 1974-05-07 09:48:41 */ SELECT from_unixtime (xtimestamp) as aa FROM TEST; SELECT UNIX_TIMESTAMP ('2013-09-09 12:12:12'); /*1378699932*/ select adddate ('2013-09-09 12:12:12',1);/*2013-09-10 12:12:12*/ DECLARE @orderdate int; #set

MySql日期与时间函数

浪子不回头ぞ 提交于 2020-04-06 07:00:47
mysqldump -uroot -haliyuncs.com -p2018 xb_data event_record -w " date ( event_date ) <= date_sub (curdate(),interval 7 day)" 按event_date时间字段备份七天之前的数据 select DATE_FORMAT(date_sub(current_date(), interval 1 day), '%Y-%m-%d') -- 2018-05-29(昨天) select DATE_FORMAT(date_sub(current_date(), interval 31 day), '%Y-%m-%d 00:00:00' ) -- 2018-04-29 00:00:00 select DATE_SUB(current_date, INTERVAL 35 DAY) -- 2018-04-25 -- MySQL日期时间处理函数 -- 当前日期:2017-05-12(突然发现今天512,是不是会拉防空警报) SELECT NOW() FROM DUAL;-- 当前日期时间:2017-05-12 11:41:47 -- 在MySQL里也存在和Oracle里类似的dual虚拟表:官方声明纯粹是为了满足select ... from...这一习惯问题

MySQL进阶篇(01):基于多个维度,分析服务器性能

倾然丶 夕夏残阳落幕 提交于 2020-04-05 17:44:05
本文源码: GitHub·点这里 || GitEE·点这里 一、服务器性能简介 1、性能定义 服务器性能优化是一项非常艰巨的任务,当然也是很难处理的问题,在写这篇文章的时候,特意请教下运维大佬,硬件工程师,数据库管理,单从自己的实际开发经验来看,看待这个问题的角度起码是不全面的。 补刀一句 :在公司靠谱少撕逼,工程师这个群体是很好交朋友的,互相学习一起进步,升职加薪他不好吗? 服务性能定义:完成一个任务或者处理一次接口请求所需要的时间,这个时间是指响应完成时间,即请求发出,到页面响应回显结束,这是看待性能问题的基本逻辑。 2、分析性能 服务的基本过程一般如下图,这是一张最简单的前后端分离,加一台数据库存储的流程,但是想要说明一个复杂的逻辑。 从页面请求,到获取完整的响应结果,这个过程每个环节都可能导致性能问题,抛开网络,硬件,服务器,MySQL存储这些核心客观因素,单是下面这行代码就可以秒掉很多人的努力。 Thread.sleep(10000); // 仿佛整个世界都安静了。 影响性能的因素很多,一般说性能优化会从下面几个方面考虑: 网络传输,比如私有云和公有云的交互,接口传输内容过大; 应用服务,接口设计是否最简,没有逻辑问题,架构设计是否合理; 存储服务,MySQL的查询写入,表设计是否合理,连接池配置是否合理; 硬件设施,CPU和内存的利用是否在合理区间,缓存是否合理;

Mysql基础03-函数

荒凉一梦 提交于 2020-04-01 00:22:18
函数 字符串函数 函数 用法 CONCAT(S1,S2,......,Sn) 连接S1,S2,......,Sn为一个字符串 CONCAT_WS(s, S1,S2,......,Sn) 同CONCAT(s1,s2,...)函数,但是每个字符串之间要加上s CHAR_LENGTH(s) 返回字符串s的字符数 LENGTH(s) 返回字符串s的字节数,和字符集有关 INSERT(str, index , len, instr) 将字符串str从第index位置开始,len个字符长的子串替换为字符串instr UPPER(s) 或 UCASE(s) 将字符串s的所有字母转成大写字母 LOWER(s) 或LCASE(s) 将字符串s的所有字母转成小写字母 LEFT(s,n) 返回字符串s最左边的n个字符 RIGHT(s,n) 返回字符串s最右边的n个字符 LPAD(str, len, pad) 用字符串pad对str最左边进行填充,直到str的长度为len个字符 RPAD(str ,len, pad) 用字符串pad对str最右边进行填充,直到str的长度为len个字符 LTRIM(s) 去掉字符串s左侧的空格 RTRIM(s) 去掉字符串s右侧的空格 TRIM(s) 去掉字符串s开始与结尾的空格 TRIM(【BOTH 】s1 FROM s) 去掉字符串s开始与结尾的s1 TRIM(

MySQL:MySQL日期数据类型、MySQL时间类型使用总结

梦想的初衷 提交于 2020-03-28 07:39:03
MySQL 日期类型:日期格式、所占存储空间、日期范围 比较。 日期类型 存储空间 日期格式 日期范围 ------------ --------- --------------------- ----------------------------------------- datetime 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 timestamp 4 bytes YYYY-MM-DD HH:MM:SS 1970-01-01 00:00:01 ~ 2038 date 3 bytes YYYY-MM-DD 1000-01-01 ~ 9999-12-31 year 1 bytes YYYY 1901 ~ 2155 在 MySQL 中创建表时,对照上面的表格,很容易就能选择到合适自己的数据类型。不过到底是选择 datetime 还是 timestamp,可能会有点犯难。这两个日期时间类型各有优点:datetime 的日期范围比较大;timestamp 所占存储空间比较小,只是 datetime 的一半。 另外,timestamp 类型的列还有个特性:默认情况下,在 insert, update 数据时,timestamp 列会自动以当前时间(CURRENT_TIMESTAMP)填充

360°全方位比较PostgreSQL和MySQL

假如想象 提交于 2020-03-27 23:30:46
360°全方位比较PostgreSQL和MySQL 一、原文 https://www.enterprisedb.com/blog/postgresql-vs-mysql-360-degree-comparison 二、摘要 本文对MySQL和PostgreSQL进行详细的比较,方便选择。 1、为什么使用PostgreSQL 2、为什么使用MySQL 3、易用性 4、语法 5、数据类型 6、复制与集群 7、视图 8、触发器 9、存储过程 10、查询 11、分区 12、表的可伸缩性 13、NoSQL能力 14、安全 15、分析函数 16、GUI工具 17、性能 18、Adoption 19、最佳环境 三、PG vs MySQL:选择哪个? PostgreSQL和MySQL都是最流行的开源数据库。MySQL被认为是世界上最流行的数据库,而PostgreSQL被认为是世界上最先进的数据库。MySQL并不完全符合SQL标准,并且很多PG上的特性并不支持。这就是为什么PG受到大量开发者喜欢的原因,并且现在PG越来越流行。 前几年,Oracle收购了MySQL,导致MySQL的出现两个版本:商业版和社区版。对于后者,由于Oracle控制了MySQL的开发,受到了广大使用者的批评。 PostgreSQL是世界上最受欢迎的数据库:他支持大量企业级特性和功能。PG由postgresql全球社区开发

MySQL数据类型与优化

泄露秘密 提交于 2020-03-26 21:20:15
原创itcats_cn 最后发布于2019-11-07 22:07:01 阅读数 713 收藏 展开 关于数据类型的优化 1、假如只需要存0~255之间的数,无负数,应使用tinyint unsigned(保证最小数据类型) 2、如果长度不可定,如varchar,应该选择一个你认为不会超过范围的最小类型 比如: varchar(20),可以存20个中文、英文、符号,不要无脑使用varchar(150) 3、整形比字符操作代价更低。比如应该使用MySQL内建的类型(date/time/datetime)而不是字符串来存储日期和时间 4、应该使用整形存储IP地址,而不是字符串 5、尽量避免使用NULL,通常情况下最好指定列为NOT NULL,除非真的要存储NULL值 6、DATETIME和TIMESTAMP列都可以存储相同类型的数据:时间和日期,且精确到秒。然而TIMESTAMP只使用DATETIME一半的内存空间,并且会根据时区变化,具有特殊的自动更新能力。另一方面,TIMESTAMP允许的时间范围要小得多,有时候它的特殊能力会变成障碍 整数类型 1、TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT分别使用8(-127~127或0~255)、16(0~65535)、24(0~1600万)、32、64位存储空间。 2、整数类型有可选的UNSIGNED属性

MySQL时间相关操作

為{幸葍}努か 提交于 2020-03-24 14:06:58
本文主要介绍MySQL使用过程中有关时间处理的相关操作: MySQL时间更新(加上或减去一段时间) MySQL毫秒数和日期之间的转换 一、MySQL时间更新(加上或减去一段时间) 1.1 MySQL时间加减函数 DATE_ADD() 函数向日期添加指定的时间间隔; DATE_SUB() 函数向日期减少指定的时间间隔。 1.2 使用实例 (1) 以当前时间为基准,为日期增加一个时间间隔 select date_add(now(), interval 1 day); //加1天 select date_add(now(), interval 1 hour); //加1小时 select date_add(now(), interval 1 minute); //加1分钟 select date_add(now(), interval 1 second); //加1秒 select date_add(now(), interval 1 microsecond); //加1毫秒 select date_add(now(), interval 1 week);   //加1周 select date_add(now(), interval 1 month);   //加1月 select date_add(now(), interval 1 quarter); //加1季 select