MySQL文库
文章平均质量分 59
Mysql笔记
smileNicky
优秀
展开
-
MySQL按小时分组统计日志记录数量
MySQL按小时分组统计日志记录数量。最近需要统计一些日志流水,统计出打卡的高峰期,所以需要对日志流水按小时进行分组统计,统计出每半小时或者每小时内的打卡次数原创 2024-06-18 14:19:50 · 448 阅读 · 0 评论 -
MySQL查询相邻两条记录的时间间隔
MySQL查询相邻两条记录的时间间隔。最近需要统计相邻两条记录的时间间隔,筛选出时间间隔大于2min的数据记录。因为是同一张表,又需要查询出相邻的数据,所以最开始想到使用子表来做,分别用t1t2表示,但是实践后发现查询时间太久了,因为这张表是一张数据量很大的表,用子查询去查就更慢了,所以需要换个思路去做,想到了LEAD开窗函数。原创 2024-06-06 16:15:18 · 784 阅读 · 1 评论 -
MySQL查询导出数据表结构信息
最近在写文档,需要用到数据库设计文档,表结构很多,如果一个个去复制黏贴,也是很花时间,所以需要借助INFORMATION_SCHEMA库的表。information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等原创 2022-10-29 09:39:56 · 1169 阅读 · 0 评论 -
MySQL系列之分库分表学习笔记
随着业务的堆积,项目越来越庞大,数据量也越来越庞大,如果并发一旦上来,就很容易出现一些性能的问题。而且项目太庞大,维护起来也不容易。这时候对分库分表在一定程度是可以缓解数据库压力的............原创 2022-06-08 17:39:56 · 1342 阅读 · 4 评论 -
MySQL排序字段数据相同不能分页问题
MySQL排序字段数据相同不能分页问题,最近同事遇到一个列表的分页有bug,点击第1行,第2行数据会出现重复的,初步怀疑是数据重复了,通过SQL查询,确认数据都没重复。不过分页时候会出现重复,所以怀疑是分页问题,因为我之前遇到过order by的字段有null值的情况,排序也会有问题,所以通过经验去排查排序的字段数据,发现并没有null值的数据。只是数据很多都是一样的,因为是通过批量导入的,新增时间都保存为一样的,然后分页再根据这个新增时间去排序,就会出现好像“数据重复”的现象原创 2022-04-07 09:27:44 · 2052 阅读 · 0 评论 -
MySql提示Lock wait timeout exceeded处理方法
最近在执行一条数据量很多的数据更新,然后执行很长时间,所以在Navicat点击停止sql执行,然后再次执行都提示:Lock wait timeout exceeded; try restarting transaction,看英文意思猜是表锁了,问了公司运维知道了处理方法原创 2022-01-01 00:15:59 · 1464 阅读 · 0 评论 -
MySQL批量更新大量的数据方法分享
最近需要批量更新大量数据,习惯了写sql,所以还是用sql来实现,update A set a='123' where code in (select code from B);,以前都是这样处理,不过因为表B是一个大表,数据量特别多,执行特别耗时,所以后面想到通过查询大量数据,然后再放在in里面,不过因为之前用惯了oracle,知道in只能支持1000条数据,不知道mysql里竟然没有这个限制,不知道是否可以通过SQL_MODE属性设置,所以还是记录起来原创 2022-01-01 00:16:13 · 5131 阅读 · 0 评论 -
MySql5.7绿色版服务端安装部署教程
Mysql5.7服务端绿色版安装教程,最近在跑项目,因为自己笔记本跑mysql8.+版本安装麻烦,所以直接使用mysql5.7绿色版本的,不使用exe文件方式安装,因为绿色版不会因为重装系统而需要重装,所以选择绿色版本mysql原创 2022-01-01 00:15:41 · 6804 阅读 · 0 评论 -
MySQL统计数据库所有表的数据量
mysql统计一个数据库里所有表的数据量,最近在做统计想查找一个数据库里基本所有的表数据量,数据量少的通过select count再加起来也是可以的,不过表的数据有点多,有什么快捷的方法?原创 2021-12-13 14:59:29 · 8484 阅读 · 4 评论 -
MySQL数据迁移批量写UUID数据工作记录
最近在迁移表数据,需要向一张业务关联表批量写数据,遇到一个问题replace(uuid() , '-' ,''),通过replace查询uuid,发现全都一样,所以批量写数据时候,不能使用replace,直接使用uuid()这个函数就可以批量生成uuid,然后再更新uuid就行原创 2021-11-20 16:09:38 · 2440 阅读 · 0 评论 -
MySQL系列之批量写入给定时间范围内的数据
需求:最近需要在mysql数据库中造大量数据进行测试,而且要求要在某段时间内,本来想通过存储过程写,不过觉得麻烦,所以想到直接通过sql写前提条件:业务表(sys_user_action_log )有大量的数据,你能批量写的数据不能超过业务表的数据INSERT INTO sys_user_action_log ( seq, ip, url, domain, title, referrer, lang, useragent, sh, sw, cd, acco原创 2021-04-02 18:10:25 · 2102 阅读 · 2 评论 -
MySQL系列之二进制日志Binlog学习笔记
在上一篇博客的学习,我们知道了InnoDB存储引擎的两种事务日志,redo log是InnoDB特有的功能,而MySQL也是有自己的日志机制的,也即本文学习的binlogbinlog(二进制日志):binary log,简称是binlog,binlog记录所有数据库表结构变更以及表数据修改,而不会记录SELECT和SHOW这类操作,数据保存的是二进制数据binlog以事件的形式保存,还包括sql执行所需的时间等等信息,开启Binlog日志有以下两个最重要的使用场景原创 2020-10-16 15:01:38 · 3251 阅读 · 8 评论 -
MySQL系列之事务日志Redo log学习笔记
Redo log:被称之为重做日志,是在数据库发生意外时,进行数据恢复,redo log会备份是事务执行过程中的修改数据,redo log备份的是事务过程中最新的数据位置原创 2020-10-15 18:28:24 · 6510 阅读 · 6 评论 -
MySQL系列之事务日志Undo log学习笔记
undo log是mysql中两种比较重要的事务日志,另外一种是redo log,undo log顾名思义,是一种用于撤销回退的日志,用于事务没提交之前,会将要修改的记录存放到 Undo 日志文件里,当事务回滚时或者数据库崩溃时,可以利用 Undo 日志回退事务原创 2020-10-15 14:59:14 · 10212 阅读 · 25 评论 -
MySQL系列之体系结构原理学习笔记
MySQL系列之体系结构原理学习笔记引用来自官网的图,MySQL Server架构从上到下依次为网络连接层(Connectors)、服务层(MySQL Server)、存储引擎层(Plugable Storage Engines)、系统文件层(File System)原创 2020-10-14 15:13:59 · 8715 阅读 · 33 评论 -
MySQL系列之事务编程学习笔记
MySQL基础之事务编程学习笔记在学习《MySQL技术内幕:SQL编程》一书,并做了笔记。本博客内容是自己学了《MySQL技术内幕:SQL编程》一章根据自己的理解做的笔记,内容和书本并不一致,不过书本实验都经过自己验证,基于MySQL5.7版本。做笔记的目的是方便自己复习,同时分享出来或许对其他人或许有点帮助提到事务肯定会想到事务的4个特性ACID,要保证业务的正常使用,必须保证ACID,AC...原创 2020-01-01 12:08:28 · 5996 阅读 · 0 评论 -
MySQL系列之STRAIGHT JOIN用法简介
MySQL基础之STRAIGHT JOIN用法简介,STRAIGHT_JOIN与 JOIN 类似,只不过左表始终在右表之前读取。这可用于联接优化器以次优顺序处理表的那些(少数)情况。原创 2019-11-10 11:49:45 · 4862 阅读 · 0 评论 -
MySQL系列之Natural Join用法
Natural join即自然连接,natural join等同于inner join或inner using,其作用是将两个表中具有相同名称的列进行匹配原创 2019-11-10 11:48:48 · 22195 阅读 · 0 评论 -
MySQL系列之自连接用法简介
MySQL系列之自连接简介,MySQL自连接操作,没有特定的关键字,所谓自连接指的是同一个表不同实例之间的join操作原创 2019-11-10 11:48:22 · 3500 阅读 · 0 评论 -
MySQL系列之执行计划学习笔记
继上一篇博客《MySQL的索引知识学习笔记》之后,我再记录一篇MySQL执行计划方面的博客,本博客是我在学习尚硅谷的学习教程后,做的笔记,当然我不是为了所谓宣传,仅仅是学习记录的笔记。本来可以不分享出来,不过,分享出来的笔记不仅可以给网上的学习者参考学习,同时写在csdn比较方便,可以支持图片上传,也方便自己以后查找复习附录:我创建的数据库方面的专栏SQL调优方面的专栏MySQL知识方面的...原创 2019-09-15 16:13:11 · 3555 阅读 · 0 评论 -
MySQL系列之索引知识学习笔记
继我的上篇博客:Oracle索引知识学习笔记之后,再记录一篇MySQL的索引知识学习笔记,本博客是我在学习尚硅谷的学习教程后,做的笔记,当然我不是为了所谓宣传,仅仅是学习记录的笔记,本来可以不分享出来,分享出来的目录仅仅可以给网上的学习者参考学习,同时写在csdn比较方便,支持图片上传,也方便自己以后查找复习文章目录一、索引的概念二、索引分类三、索引用法四 、索引架构简介五、索引适用的情况六、索...原创 2019-09-15 16:11:13 · 3522 阅读 · 2 评论 -
MySQL系列之逻辑架构简介
Mysql服务器逻辑架构图:第一层结构主要处理客户端与mysql服务端的连接、授权认证、安全等;第二层是Mysql服务端的核心,功能包括查询解析、分析、优化、缓存等,存储过程、触发器、视图等都在这一层实现;第三层的存储引擎主要负责数据存储和提取,存储引擎不会去解析sql,不同存储引擎之间不会通讯,只会简单地响应上层服务器的请求一、连接管理每个客户端连接成功,都会在服务器进程中拥有一个线程,...原创 2019-08-31 17:28:35 · 6756 阅读 · 4 评论 -
MySQL系列之数据库的锁机制
在并发访问情况下,很有可能出现不可重复读等等读现象。为了更好的应对高并发,封锁、时间戳、乐观并发控制(乐观锁)、悲观并发控制(悲观锁)都是并发控制采用的主要技术方式。原创 2018-01-02 14:44:02 · 6837 阅读 · 2 评论 -
MySQL系列之什么是CROSS JOIN
文章目录1. cross join简介2. cross join用法1. cross join简介MySQL cross join是mysql中的一种连接方式,区别于内连接和外连接,对于cross join连接来说,其实使用的就是笛卡尔连接。在MySQL中,当CROSS JOIN不使用WHERE子句时,CROSS JOIN产生了一个结果集,该结果集是两个关联表的行的乘积。通常,如果每个表分别具...翻译 2019-11-02 12:54:44 · 5438 阅读 · 1 评论 -
MySQL系列之字符类型学习笔记
* 字符集:字符集就是字符的集合,例如GB2312是中国国家标准的简体中文字符集,GB2312收录简化汉字(6763个)及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。原创 2019-10-25 22:27:03 · 2516 阅读 · 0 评论 -
MySQL系列之日期和时间类型笔记
最近在看《MySQL技术内幕:SQL编程》并做了笔记,这是一篇笔记类型博客,分享出来方便自己复习,也可以帮助其他人一、日期时间类型所占空间对比各种日期时间数据类型所占的空间:类型所占空间DATETIME8字节DATE3字节TIMESTAMP4字节YEAR1字节TIME3字节二、DATETIME和DATE对比DATETIME占用8...原创 2019-10-25 22:26:27 · 2390 阅读 · 0 评论 -
MySQL系列之数字类型学习笔记
数字类型最近在看《MySQL技术内幕:SQL编程》并做了笔记,所以本博客是一篇笔记类型博客,分享出来方便自己复习,也可以帮助他人整型类型占用空间最小值(SIGNED)最大值(SIGNED)最小值(UNSIGNED)最大值(UNSIGNED)TINYINT1-1281270255SMALLINT2-3276832767065535...原创 2019-10-25 22:25:39 · 2423 阅读 · 0 评论 -
MySQL系列之unsigned和zerofill属性
UNSIGNED这个属性就是标记数字类型是无符号的,和C/C++语言中的unsigned含义是一样的,int signed的类型范围是-2147483648~2147483648,而int unsigned的范围是0~4294967295这个属性使用时候可以在建表语句、加字段语句或者查询sql里也是可以的create table t (a int unsigned)ENGINE=INNODB...原创 2019-10-25 22:25:19 · 2725 阅读 · 0 评论 -
MySQL系列之SQL_MODE学习笔记
最近在学习《MySQL技术内幕:SQL编程》并做了笔记,本博客是一篇笔记类型博客,分享出来,方便自己以后复习,也可以帮助其他人SQL_MODE:MySQL特有的一个属性,用途很广,可以通过设置属性来实现某些功能支持 # 全局的SQL_MODE SELECT @@global.sql_mode; # 当前会话的SQL_MODE SELECT @@session.sql_mode; S...原创 2019-10-25 22:24:56 · 2466 阅读 · 0 评论 -
MySQL系列之数据库应用类型学习笔记
【数据库的应用类型】最近在学习《MySQL技术内幕:SQL编程》并做了笔记,本博客是一篇笔记类型博客,分享出来,方便自己以后复习,也可以帮助其他人对于sql开发人员来说,需要了解开发的数据库应用于哪种类型,下面对数据库的应用做了分类数据库的应用类型:OLTP(OnLine transaction processing,联机事务处理)OLTP也被称之为面向交易的处理系统,其基本特征是立即...原创 2019-10-24 08:38:18 · 2435 阅读 · 0 评论 -
MySQL系列之变量介绍和用法简介
本博客介绍一下MySQL中变量的用法和注意细节文章目录一、用户变量1.1、用户变量定义1.2、用户变量用法a)、设置用户变量b)、查询用户变量二、系统变量2.1 系统变量简单介绍2.2 系统变量用法简介一、用户变量1.1、用户变量定义MySQL官方手册里是将变量分为系统变量和用户变量的,用户变量就是在一个语句里加在用户自定义的变量,然后这个变量可以赋值给其它变量,或者在另外一个语句里调用等...原创 2019-09-19 23:33:55 · 3462 阅读 · 0 评论 -
MySQL系列之实现Oracle rank()排序
MySQL5.7版本没有提供类似Oracle的分析函数,比如用于排序的over函数,oracle开窗函数over(…)使用的话一般是和order、partition by、row_number()、rank()、dense_rank()几个函数一起使用,具体的用法可以参考我之前的博客oracle开窗函数用法简介假如要获取成绩排序第一的学生信息,可以用如下的SQL:select * from...原创 2019-09-19 23:33:25 · 2722 阅读 · 0 评论 -
Mysql系列之实现树形递归查询
最近在做项目迁移,Oracle版本的迁到Mysql版本,遇到有些oracle的函数,mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造。Oracle递归查询oracle实现递归查询的话,就可以使用start with … connect byconnect by递归查询基本语法是:select 1 from 表格 start with ... connect by pr...原创 2019-02-14 23:05:00 · 4434 阅读 · 0 评论 -
Mysql系列之类似Oracle null first/last用法
最近在做项目迁移,Oracle版本的迁到Mysql版本,遇到有些oracle的函数,mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行竟然。oracle做数据排序的时候,有时候可以用nulls first或者nulls last将null值排在最前或者最后。oracle方法:null值排在最前select * from A order by a desc null firs...原创 2019-02-14 23:04:24 · 4022 阅读 · 0 评论 -
mysql系列之类似oracle rownum写法
rownum是oracle才有的写法,rownum在oracle中可以用于取第一条数据,或者批量写数据时限定批量写的数量等mysql取第一条数据写法 SELECT * FROM t order by id LIMIT 1;oracle取第一条数据写法 SELECT * FROM t where rownum =1 order by id;ok,上面是mysql和oracle取第一...原创 2019-09-05 23:56:00 · 3069 阅读 · 0 评论 -
Oracle和Mysql语法异同整理笔记
文章目录(1) 模糊匹配(2) 删除数据(3) 时间函数(4) 关键字问题(5) 递归查询(6) 排序问题(7) 空值返回0(8) 取最大值(9) 列转换函数(10) 类型转换函数最近在做项目迁移,Oracle版本的迁到Mysql版本,遇到有些oracle的函数,mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造。所以本博客主要介绍Oracle兼容mysql改造方式以及注意...原创 2019-02-15 00:21:54 · 5109 阅读 · 5 评论 -
MySQL笔记之常用用法整理手册
文章目录(1)继上一篇博客《Oracle学习笔记整理手册》之后,我再写一篇Mysql版本的PS:本博客收录自己工作中遇到学到的一些Oracle技能,有时间就更新整理一下(1)...原创 2019-02-16 23:02:14 · 3092 阅读 · 0 评论 -
oracle和mysql批量Merge对比
orm框架采用mybatis,本博客介绍一下批量合并merge用oracle和mysql来做的区别,oracle merge合并更新函数的详细介绍可以参考我以前的博客:https://blog.csdn.net/u014427391/article/details/87898729oracle方法:<!-- 批量更新新增关联信息 oracle--> <insert id=...原创 2019-04-16 12:30:47 · 2714 阅读 · 0 评论 -
Oracle和Mysql获取uuid的方法对比
场景:orm框架用mybatis,需要往数据库新增一条数据,用Oracle和mysql数据库分别需要怎么实现?mysql方法,用mysql提供的uuid函数<insert id="add" parameterType="com.t.model.ActionModel" databaseId="mysql"> insert into t_config ...原创 2019-04-13 23:22:02 · 2702 阅读 · 1 评论 -
MySQL系列之锁表查询SQL
// 查看进程SHOW PROCESSLIST;// 查看是否锁表SHOW OPEN TABLES WHERE In_use > 0;// 查看正在锁的事务SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; // 查看等待锁的事务SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS; ...原创 2019-08-31 10:59:54 · 4557 阅读 · 0 评论