MySQL 使用SQL将多行记录合并成一行实例代码 前言 我们在数据开发的过程中,经常会遇到这样的需求,就是将多行合并为一行,并且用特定字符隔开。 1、数据处理前 2,结果数据展示 3,hive处理方式 在hive里面,用concat_ws函数处理 格式: concat_ws(‘分隔符&rsqu...
MySQL 一文带你玩转MySQL获取时间和格式转换各类操作方法详解 前言 时间在数据库中经常作为时间索引,在数据入库和出库以及更新的时候都需要变化。在一些指标计算或者是提取某段时间的数据时,都会根据数据库中的时间索引数据进行操作。因此很大一部分我们操作数据都得先从时间数据下手,但是想要真正提取到我们想要的时间作为索引,还需...
MySQL Mysql表连接的执行流程详解 1. 前言 对于连接操作,驱动表和被驱动表的关联条件我们放在on后面,如果额外增加对驱动表和被驱动表的过滤条件,放到on或者where后面都不会报错,但是得到的结果集却是不一样的??? 1.1 mysql连接的原理 众所周知,mysql是基于嵌套循环连接(...
PostgreSQL 基于PostgreSQL密码重置操作 今天我在用命令行登陆postgresql的时候,忽然忘记密码了,重试了N次还是不行,然后我就试着上网找解决之道,最后完美的解决了,可是后来我才发现还有个更简单的方法,该篇博客用来记录自己沙雕行为。 工具已登陆 这个就是最简单的方法,你有工具登陆过,完全可以...
MySQL Mysql中的CHECK约束特性详解 功能说明 在MySQL 8.0.16以前, CREATE TABLE允许从语法层面输入下列CHECK约束,但实际没有效果: CHECK (expr) 在 MySQL 8.0.16,CREATE TABLE添加了针对所有存储引擎的表和列的CHECK约束的核心...
MySQL mysql日志系统redo log和bin log介绍 首先,我们先来看看一次查询/更新语句流程图 本文会将重点放在执行器<->存储引擎之间的交互。 mysql不是每次数据更改都立刻写到磁盘,而是会先将修改后的结果暂存在内存中,当一段时间后,再一次性将多个修改写到磁盘上,减少磁盘io成本,同时提高操...
MySQL MySQL中的存储过程异常处理 1. condition 2.handler 3.diagnostics area 在使用MySQL存储过程时,其中的代码可能会出现运行错误从而导致异常,此时需要将存储过程中产生的异常捕获并打印出来 需要知道的概念: condition hanlder d...
PostgreSQL postgresql中时间转换和加减操作 昨天遇到一个floor向下取整的问题,现在将它记录下来。 首先floor是需要一个int或者dp。那么我们日期加减转换,timestamp 转data,是需要先将其转成char,再由char转date,再相减,得出一个符合floor函数要求的值。 代码如下...
MySQL MySQL优化案例之隐式字符编码转换 索性失效前提 MySQL中我们知道有: 1、如果对索引字段做函数操作,可能会破坏索引值的有序性,因此优化器就决定放弃走树搜索功能。 2、隐式类型转换也会导致同样的放弃走树搜索。 因为类型转换等价于在条件字段上使用了函数比如: /*假设tradeid字段有索...
MySQL MySQL数据库的触发器和事务 一、触发器 概念 触发器是SQL server提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,是由事件来触发。触发器经常用来加强数据的完整性约束和业务规则。 二、 触发器的操作 创建account和account_lo...
MySQL MySQL使用正则表达式去检索指定数据库字段 使用MySQL正则表达式 基本字符匹配 例:检索列prod_name 包含文本1000的所有行。 SELECT prod_name FROM products WHERE prod_name REGEXP ‘1000’ ORDER ...
MySQL MYSQL 数据库时间字段 INT,TIMESTAMP,DATETIME 性能效率的比较介绍 前言: 在数据库设计的时候,我们经常会需要设计时间字段,在 MYSQL 中,时间字段可以使用 int、timestamp、datetime 三种类型来存储,那么这三种类型哪一种用来存储时间性能比较高,效率好呢 ? 就这个问题,来一个实践出真知吧。 一、准备...