随笔分类 -  mysql

1 2 下一页
sql 之mysql间隔几分钟统计一次数据
摘要:我们一般会接到一些统计时段的的需求,如下图所示 要求,每30分钟统计一次数据,或者每隔5分钟执行一次 sql的写法,如下所示, select DATE_FORMAT(CONCAT( DATE_FORMAT( ro.update_time, '%Y-%m-%d %H:' ), (FLOOR( MINU 阅读全文
posted @ 2021-02-25 16:47 爱吃萝卜青菜 阅读(2446) 评论(0) 推荐(0)
SQL优化之 select * 不随便使用
摘要:我们都知道使用select * 的效率会降低,但大多数人都不知道如何去回答。 一、效率低的原因 1. 不需要的列会增加数据传输时间和网络开销 2. 对于无用的大字段,如 varchar、blob、text,会增加 io 操作 3. 失去MySQL优化器“覆盖索引”策略优化的可能性 二、索引知识延申 阅读全文
posted @ 2021-02-03 19:51 爱吃萝卜青菜 阅读(560) 评论(0) 推荐(0)
mysql 之创建时间和更新时间字段设计CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP
摘要:目前有些java项目是利用代码去维护create_time,和update_time 这两个字段。可以是可以但是为了减轻代码量,还是建议使用mysql数据库自己维护这两个字段。 1.解决 在建表时,以下面格式创建字段,当第一次插入数据时,创建时间和更新时间会自动填写成当前时间,当存在数据变更是,更新 阅读全文
posted @ 2021-01-27 16:37 爱吃萝卜青菜 阅读(1813) 评论(0) 推荐(0)
mysql 之replace()函数用法
摘要:替换字符串 select replace(uuid(), '-', '') 阅读全文
posted @ 2021-01-14 14:00 爱吃萝卜青菜 阅读(1245) 评论(0) 推荐(0)
mysql 之group_concat()用法
摘要:group_concat([DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator '分隔符']) 阅读全文
posted @ 2021-01-14 13:56 爱吃萝卜青菜 阅读(120) 评论(0) 推荐(0)
mysql 之 一个库中所有表复制到另一个数据库中,实现两个表迁移
摘要:1.使用mysql连接工具navcat。 2.点开需要复制的数据库 3.点击右键,选择转存sql文件,根据自己的需求,选择转存数据和结构还是只转存结构 4.点击运行即可。 5.接下到将导出的数据,导入到目标数据库中,导入前,先在目标IP中建立对应的数据库名 6.在建好的数据库中点击右键,运行sql文 阅读全文
posted @ 2020-12-14 16:11 爱吃萝卜青菜 阅读(1466) 评论(0) 推荐(0)
mysql 之group by 后取每一组最大的一行值
摘要:1. 需求:分组后得到id =3 和id =6 的行数 2.解决(sql) 方法一: -- 将符合条件的id 放在where条件后 SELECT id, A, B FROM test AS a WHERE id IN ( SELECT max( b.id ) AS id FROM test AS b 阅读全文
posted @ 2020-11-19 17:18 爱吃萝卜青菜 阅读(1640) 评论(0) 推荐(0)
mysql 之数据类型转换cast()函数和convert()函数
摘要:一、在mysql操作中我们经常需要对数据进行类型转换。此时我们应该使用的是cast()或convert()。 二、两者的对比 相同点:都是进行数据类型转换,实现的功能基本等同 不同点:两者的语法不同,cast(value as type) 、 convert(value,type) 三、所支持的类型 阅读全文
posted @ 2020-11-13 20:11 爱吃萝卜青菜 阅读(727) 评论(0) 推荐(0)
mysql.help_topic 将多个逗号隔开的字段转换为行(多条记录)
摘要:问题 在设计表的存储方式时,将字段的值设置为以逗号分隔,现在需要值用逗号分隔。 解决 使用MySQL内置函数函数 help_topic,具体sql 如下所示 SELECT a.member_card_id, SUBSTRING_INDEX( SUBSTRING_INDEX( a.benefit_id 阅读全文
posted @ 2020-08-31 17:02 爱吃萝卜青菜 阅读(2989) 评论(0) 推荐(1)
mysql 之 上周周六到本周周五时间
摘要:SELECT # 上周周六DATE_FORMAT(SUBDATE(SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')),INTERVAL 1 DAY),'%Y%m%d') AS LAST_WK_BEGINE,# 本周周五DATE_FORMAT(SUBDATE( 阅读全文
posted @ 2020-08-20 15:13 爱吃萝卜青菜 阅读(837) 评论(0) 推荐(0)
mysql 之 获取指定月份天数和指定月份上月天数
摘要:1.语法 DAY(LAST_DAY(CONCAT(nc_date,'01')))AS cm_day_cnt, -- 当月天数 DAY(LAST_DAY(DATE_SUB((CONCAT(nc_date,'01')),INTERVAL 1 MONTH))) -- 上月天数 2.解析 我的nc_date 阅读全文
posted @ 2020-08-17 14:31 爱吃萝卜青菜 阅读(2985) 评论(0) 推荐(0)
sql 之 处理一行全为0的记录
摘要:问题:查询结果是以下,想删除全为0的这两行记录 解决: 在 sql 外面在嵌套一层sql 然后where条件是 where (t.countB+t.countC+t.countD)>0 SQL语句: select * from (select name,countB,countC,countD fr 阅读全文
posted @ 2020-08-07 18:08 爱吃萝卜青菜 阅读(656) 评论(0) 推荐(0)
sql 之按指定分割符取分割符前/后字符串
摘要:例子: 1.select tm.line_name , substring_index(tm.line_name, '-', -1) as stop_name from line_name :北门车站-三台 '-':分隔符 -1:取分割符后所有字符串 知识点: 1、substring_index(s 阅读全文
posted @ 2020-08-05 11:51 爱吃萝卜青菜 阅读(3167) 评论(0) 推荐(0)
mysql 之联合索引
摘要:1.什么是联合索引 一般我们使用的是单列索引(B+TREE),但少数情况下也会使用到多列索引,也就是平时的联合索引,又称复合索引。 B+TREE的结构如下: 每一个磁盘块在mysql中是一个页,页大小是固定的,mysql innodb的默认的页大小是16k,每个索引会分配在页上的数量是由字段的大小决 阅读全文
posted @ 2020-07-31 16:46 爱吃萝卜青菜 阅读(276) 评论(0) 推荐(0)
mysql 之数据数据库命名规则
摘要:1.设计原则 1) 标准化和规范化 数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但ThirdNormal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来说,遵守3NF 标准的数据库的表设计原则是:“One Fact in One Place”即某个 阅读全文
posted @ 2020-07-31 15:49 爱吃萝卜青菜 阅读(1540) 评论(0) 推荐(0)
mysql 之 在查询字段中得出分钟数
摘要:1.用法 round((UNIX_TIMESTAMP(大时间段)-UNIX_TIMESTAMP(小时间段))/60) 阅读全文
posted @ 2020-05-22 10:04 爱吃萝卜青菜 阅读(252) 评论(0) 推荐(0)
mysql 之 timestampdiff() 函数 ,得到间隔分钟数
摘要:TIMESTAMPDIFF()函数 1.含义 时间差函数,返回两个时间段的间隔值 2.用法 TIMESTAMPDIFF(MINUTE, 开始时间, 结束时间) as 时间差(单位:分钟数) 3.语法 TIMESTAMPDIFF(interval,datetime_expr1,datetime_exp 阅读全文
posted @ 2020-05-22 09:55 爱吃萝卜青菜 阅读(2039) 评论(0) 推荐(0)
mysql 之 时间格式 今年的第一天,去年的第一天
摘要:今年第一天 1.sql语句 SELECT DATE_FORMAT(DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY),'%Y-%m-%d') AS c_year 2.结果 去年第一天 1.sql语句 SELECT DATE_FORMAT((DATE 阅读全文
posted @ 2020-05-14 15:20 爱吃萝卜青菜 阅读(1447) 评论(0) 推荐(0)
mysql 之 str_to_date ()函数 和date_format()函数
摘要:str_to_date ()函数 1.含义:是将时间格式的字符串(str),按照规定的显示格式(format)转换为DATETIME类型 2.语法: str_to_date(str,format) 3.例子: 这种一般在业务场景中使用较多 SELECT STR_TO_DATE('20200514', 阅读全文
posted @ 2020-05-14 14:38 爱吃萝卜青菜 阅读(3227) 评论(0) 推荐(0)
mysql之 round()函数 , concat()函数
摘要:round()函数 1.含义: 用于将指定字段舍入为指定的小数位数。 2.语法: SELECT ROUND(column_name,decimals) FROM table_name column_name:指定字段decimals:指定小数位 3.例子: SELECT (ROUND(1/3*100 阅读全文
posted @ 2020-05-12 19:39 爱吃萝卜青菜 阅读(1070) 评论(0) 推荐(0)

1 2 下一页