数据库

MySQL5.7并行复制原理及实现

稍微了解过一点的数据的运维就知道MySQL 5.5以及之前是单SQL线程回放,如果Master QPS稍微高点,从上就有延迟了,5.6是基于库的并行回放机制,只有当多个库的话才有复制才有优势,而...

MYSQL 无法识别中文的永久解决方法

多数情况下,mysql在刚刚安装时是不支持中文的,这是由于编码的问题 我们可以通过修改配置文件,永久实现mysql对中文的识别 首先我们要先将文件夹的隐藏文件显示(如图)↓ 在my...

MySQL 不等于的三种使用及区别

MySQL中常用到判断符号,而不等于是比较常用的符号 ,下面讲解以下三种不等于符号 符号 意义 不等于的最早用法,可移植性优于下面两种 != 后来MySQL添加上的,类似于Java等编程语言中...

MySQL中in和exists区别详解

【本文来自:由专业的香港高防服务器转发】 一、提前准备 为了大家学习方便,我在这里面建立两张表并为其添加一些数据。 一张水果表,一张供应商表。 水果表 fruits表 f_id f_name...

你知道哪几种MYSQL的连接查询

前言 查询信息的来源如果来自多张表,则必须对这些表进行连接查询。连接是把不同表的记录连到一起的最普遍的方法,通过连接查询可将多个表作为一个表进行处理。连接查询分为内连...

Mysql systemctl start mysqld报错的问题解决

报错信息: Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details. 定位错误: vim /var/log/mysqld.log#查看日志信息 看到...

mysql外连接与内连接查询的不同之处

外连接的语法如下: SELECT 字段名称 FROM 表名1 LEFT|RIGHT|FULL| [OUTER] JOIN 表名2 ON 表名1.字段名1=表面2.字段名2 左外连接 左外连接的结果集包含左表的所有记录和右表中满足连接条件的记录...

MySQL中的布尔值,怎么存储false或true

MySQL布尔值,存储false或true 简明说,数据库存储的布尔值是0和1,相当于一个字节的INT型整数 具体操作 如果是可视化界面,可以直接选择Boolean,长度设置为1。其最终显示的效果等价于...

Mysql 设置boolean类型的操作

Mysql 设置boolean类型 1.tinyint类型 我们创建test表,并设置其bl字段为boolean类型 create table test(id int PRIMARY key,status boolean) 这样是可以创建成功。查看建表后的语句会发现,mysql把它替换成ti...

浅谈mysql返回Boolean类型的几种情况

mysql返回Boolean类型 第一种情况,直接返回 select id='22aa' from mytest where age=202 返回1 可封装为trueselect count(*)=1 from mytest where age=202 返【本文由:日本服务器 欢迎转载】回1 可封装为truesel...

Mysql中存储引擎的区别及比较

MyISAM存储引擎 MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但 不支持事务 。 MyISAM主要...

Mysql 如何实现多张无关联表查询数据并分页

Mysql 多张无关联表查询数据并分页 功能需求 在三张没有主外键关联的表中取出自己想要的数据,并且分页。 数据库表结构 水果表: 坚果表: 饮料表: 数据库随便建的,重在方法。...

mysql 带多个条件的查询方式

mysql 带多个条件的查询 环境:mysql 5.7 当一个where语句中同时出现多个and 或者or时,需要将多个OR用小括号括起来再和AND进行“与”,或者将多个AND用小括号括起来再与OR进行“或” mys...

MySQL库表名大小写的选择

目录 1.决定大小写是否敏感的参数 2.参数变更注意事项 总结: 1.决定大小写是否敏感的参数 在 MySQL 中,数据库与 data 目录中的目录相对应。数据库中的每个表都对应于数据库目录中的...

MySQL索引失效的典型案例

目录 典型案例 附:常见索引失效的情况 典型案例 有两张表,表结构如下: CREATETABLE`student_info`(`id`int(11)NOTNULL,`name`varchar(10)DEFAULTNULL,PRIMARYKEY(`id`),KEY`idx_name`(`name`))ENGINE=InnoDBDEFAULTCHARSE...

MySQL 时间类型的选择

目录 DATETIME TIMESTAMP 如何选择 如何存储毫秒级时间 结语 MySQL 提供了 DATETIME 和 TIMESTAMP 两种非常相似的类型处理日期和时间,大部分情况下两种都是 OK 的,但是有些情况二者会互有优劣...

MySQL单表千万级数据处理的思路分享

目录 项目背景 改进思路 观察数据特征 多进程处理 思路总结 数据处理技巧 项目背景 在处理过程中,今天上午需要更新A字段,下午爬虫组完成了规格书或图片的爬取又需要更新图片和...

MySQL为id选择合适的数据类型

目录 分布式ID方案总结 数据库自增ID 数据库多主模式 号段模式 雪花算法 选择 id 的数据类型,不仅仅需要考虑数据存储类型,还需要了解 MySQL 对该种类型如何计算和比较。例如,MyS...

浅谈MySQL next-key lock 加锁范围

前言 某天,突然被问到 MySQL 的 next-key lock,我瞬间的反应就是: 这都是啥啥啥??? 这一个截图我啥也看不出来呀? 仔细一看,好像似曾相识,这不是《MySQL 45 讲》里面的内容么?...

mysql高效查询left join和group by(加索引)

mysql高效查询 mysql牺牲了group by来增加left join的速度(前提是加了索引)。 user表:10万数据 实例1: 200秒左右 SELECT U.id, A.favorite_count FROM (SELECT id from user) ULEFT JOIN ( -- 点赞数 SELECT favori...

MySQL实战窗口函数SQL分析班级学生考试成绩及生活

目录 一、背景介绍 二、建表语句和插入数据 创建表格 插入数据 三、窗口函数分类介绍 四、窗口函数应用 1. 聚合函数 + over()搭配 2. 排序函数 + over()搭配 3. ntile()函数 + over()搭配 4. 偏...

MySQL 常见的数据表设计误区汇总

目录 误区一:过多的数据列 误区二:过多的联合查询 误区三:滥用 SET替代 ENUM 误区四:生硬地避免NULL 误区五:使用整数替换时间戳 误区六:忘记字段的最大存储范围 结语: 误区一...

MySQL 全文检索的使用示例

【本文由:专业的印度服务器 提供,感谢支持】 目录 1. 环境准备 2. 数据准备 3. 开始表演 4. 分词引擎 总结 参考资料 1. 环境准备 MySQL 5.7.6之前,全文索引只支持英文全文索引,不支持中...

MySQL 百万级数据的4种查询优化方式

目录 一.limit越往后越慢的原因 二.百万数据模拟 1、创建员工表和部门表,编写存储过程插数据 2.执行存储过程 三.4种查询方式 1.普通limit分页 2.使用索引覆盖+子查询优化 3.起始位置重...

mysql中between的边界,范围说明

mysql between的边界范围 between 的范围是包含两边的边界值 eg: id between 3 and 7 等价与 id =3 and id=7 not between 的范围是不包含边界值 eg:id not between 3 and 7 等价与 id 3 or id7 SELECT * FROM `test` wh...

Mysql 如何查询时间段交集

Mysql 查询时间段交集 使用场景 数据库表有两个字段starttime,endtime。现在给出(a,b)的时间段,查出和(starttime,endtime)时间段有交集的数据。 sql select * from TABLENAME where (starttime a AND starttime b)...

mysql 如何获取两个集合的交集/差集/并集

mysql的常见场景,获取两个数据集的交集和差集 步骤 1、两个集合的结构要一致,对应的字段数,字段类型 2、将两个集合用 UNION ALL 关键字合并,这里的结果是有重复的所有集 3、将上面的所...

安装配置mysql及Navicat prenium的详细流程

前提:Mac,还安装了zsh,之前是bash时下载过mysql,删除过再下载。 mysql 下载 下载地址:https://dev.mysql.com/downloads/mysql/ 不在乎版本的就直接在这里下dmg格式的文件即可,在乎版本的就去...

深入探究Mysql模糊查询是否区分大小写

前言 近期,一直在忙着写一个小小的个人博客项目,在实现 “全局搜索” 功能时,发现mysql模糊查询语句有点儿神奇(本小白刚刚步入编程阶段,所以可能让大家见笑了,哈哈哈),...

详细谈谈MYSQL中的COLLATE是什么

前言 在mysql中执行show create table tablename指令,可以看到一张表的建表语句,example如下: CREATE TABLE `table1` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `field1` text COLLATE utf8_unicode_ci NOT NULL COM...

解析MySQL binlog

目录 一、binlog简介 二、binlog相关参数 三、解析binlog内容 四、总结 一、binlog简介 binlog即binary log,二进制日志文件。它记录了数据库所有执行的DDL和DML语句(除了数据查询语句select、...

浅谈MySQL 亿级数据分页的优化

目录 背景 分析 数据模拟 1、创建两个表:员工表和部门表 2、创建两个函数:生成随机字符串和随机编号 3、编写存储过程,模拟500W的员工数据 4、编写存储过程,模拟120的部门数据...

MySQL 如何设计统计数据表

目录 是否需要实时更新 物化视图工具(Flexviews) 计数表 总结 缓存型数据表通常在统计数据时会经常用到,因此也会叫统计性数据。举个例子来说,对于员工、部门数据表而言,我们...

详解MySQL中的pid与socket

目录 1.pid-file介绍 2.socket文件介绍 总结: socket文件:当用Unix域套接字方式进行连接时需要的文件。 pid文件:MySQL实例的进程ID文件。 1.pid-file介绍 MySQL 中的 pid 文件记录的是当前 mysql...

MySQL慢查询以及重构查询的方式记录

前言 什么是慢查询,如何优化慢查询,下面介绍这两个知识点的相关知识。 慢查询基础:优化数据访问 是否向数据库请求了不需要的数据 查询不需要的记录:解决方案:查询后面加上...

MySql 如何实现无则插入有则更新

摘要 某些场景会有这样的需求:无记录则插入,有记录则更新。例如:新增用户,以身份证号码作为唯一身份标识,插入时若先查询是否存在记录再决定插入还是更新,在高并发情况下...

MySql关于null的函数使用分享

MySql中关于null的函数 IFNULL ISNULL NULLIF IFNULL 用法:IFNULL(expr1,expr2) 说明:若expr1不是null则返回expr1,否则返回expr2 例子: sql 结果 SELECT IFNULL(null,'第一个参数是null') ‘第一个参数是null'...

MySql中 is Null段判断无效和IFNULL()失效的解决方案

MySql Null字段判断,和IFNULL失效的处理 ps:(不想看过程就直接把你的sql外边加上 一个select就好了) select a,b,c from table group by a,b,c //这时候a,b,c 如果判断null不管用select IFNULL(a,0),IFNULL(b,0),IF...

MySQL ifnull的嵌套使用说明

MySQL ifnull的嵌套使用 在网上查询ifnull有没有嵌套使用的方式,但是貌似没有人提到过这个用法:大都是简单的判断一个字段是否为空,然后用另外一个值代替的方式使用; 即是: sel...

关于Mysql-connector-java驱动版本问题总结

Mysql-connector-java驱动版本问题 由于我的数据库版本是5.7.28 ,在使用java连接mysql时经常出现版本问题。 com.mysql.jdbc.Driver 是 mysql-connector-java 5中的, com.mysql.cj.jdbc.Driver 是 mysql-connector-jav...

如何使用分区处理MySQL的亿级数据优化

mysql在查询上千万级数据的时候,通过索引可以解决大部分查询优化问题。但是在处理上亿数据的时候,索引就不那么友好了。 数据表(日志)是这样的: 表大小:1T,约24亿行; 表分...

MySQL 亿级数据导入导出及迁移笔记

最近MySQL的笔记有点多了,主要是公司Oracle比较稳定维护较少,上周被安排做了一个MySQL亿级数据的迁移,趁此记录下学习笔记; 数据迁移,工作原理和技术支持数据导出、BI报表之类的...

解决mysql模糊查询索引失效问题的几种方法

我们在使用like %通配符时常常会引起索引失效的问题。 这里,我们讨论一下like使用%的几种情况: 下列例子用到的索引(VC_STUDENT_NAME) 一、like ‘xx%' EXPLAIN select * from t_student where VC_STUDE...

浅谈MySQL user权限表

MySQL 在安装时会自动创建一个名为 mysql 的数据库,mysql 数据库中存储的都是用户权限表。用户登录以后,MySQL 会根据这些权限表的内容为每个用户赋予相应的权限。 user 表是 MySQL 中最...

MySQL GRANT用户授权的实现

授权就是为某个用户赋予某些权限。例如,可以为新建的用户赋予查询所有数据库和表的权限。MySQL 提供了 GRANT 语句来为用户设置权限。 在 MySQL 中,拥有 GRANT 权限的用户才可以执行...

MySQL REVOKE实现删除用户权限

在 MySQL 中,可以使用 REVOKE 语句删除某个用户的某些权限(此用户不会被删除),在一定程度上可以保证系统的安全性。例如,如果数据库管理员觉得某个用户不应该拥有 DELETE 权限,...

mysql获取指定时间段中所有日期或月份的语句(不

mysql获取一个时间段中所有日期或者月份 1:mysql获取时间段所有月份 select DATE_FORMAT(date_add('2020-01-20 00:00:00', interval row MONTH),'%Y-%m') date from ( SELECT @row := @row + 1 as row FROM (select 0 union all s...

MySQL 使用索引扫描进行排序

目录 安装sakila 索引扫描排序 表结构 可以使用索引扫描来做排序的情况 补足前导列 order by 中只包含一种排序 无法使用索引扫描的情况 查询条件中包含不同排序方向 查询条件中引用不...

MySQL 外键约束和表关系相关总结

目录 外键(Foreign Key) 如何确定表关系 如何建立表关系 一对多关系 - 员工表和部门表 多对多 一对一 表关系总结 外键(Foreign Key) 按照上述所说,一张表存储员工信息会极大的浪费资源,...