浅谈Mysql?tinyint(1)与tinyint(4)的区别
目录引言什么是tinyint(M)?测试总结参考文献 引言
借由本篇文章来探讨下在Mysql数据库中数值类型tinyint(1)和tinyint(4) 有啥区别呢?
什么是tinyint(M)?
先来了解下mysql中字符串类型varchar(M) 和数值类型tiny...[2023/3/22]
MySql生成ER【StarUML】文件
1. 背景
要画ER图,一个个打费时费力,StarUML文件打开是json。那么就有可能自动生成。
2. 效果
把表结构生成好,自己只要维护关系即可。
3. 代码
import lombok.Data;
import java.io.FileWriter;
import java.io...[2023/3/17]
Mysql指定某个字符串字段前面几位排序查询方式
目录指定某个字符串字段前面几位排序查询数据样例第一步(想办法先截取到 ORDER关键字前面的 值)第二步,直接根据NO排序即可? (有坑)第三步转换排序 总结 指定某个字符串字段前面几位排序查询
数据样例
想要结果:
每个test_value 里面都包含 OR...[2023/3/17]
Mysql存储二进制对象数据问题
目录Mysql存储二进制对象数据首先数据库存储一个Object对象与数据库对应的实体类编写一个操作二进制的工具类Mysql存储二进制大型对象类型对照MySql MediumBlob——MySql的Bolb四种类型总结 Mysql存储二进制对象数据
首先数据库存储一个Obj...[2023/3/15]
前端程序员需要了解的MySQL
数据库的基本概念
数据库(database)是用来组织、存储和管理数据的仓库。对数据库中的数据可以进行增删改查操作。市面上常见的数据库有:
MySQL(使用最广泛。流行度最高的开源免费数据库 Community+Enterprise)
Oracle(收费)
SQL Server(收费)
Mon...[2023/3/14]
MySQL5.7主从复制教程
? 简述:主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的 业务数据库、事务处理库,从库做查询库。
? 复制过程简单的说就是 master 将数据库的改变写入二进制日志,slave同步这些二进制日志,并根据这些二进制日志行数据操作
...[2023/3/8]
MySQL查看数据库状态命令详细讲解
目录前言show statusshow proce list;show slave status \G;总结 前言
数据查询语言(DQL: Data Query Language):其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SE...[2023/3/6]
MySQL 中的锁有哪些类型,MySQL 中加锁的原则
MySQL 中的锁理解
锁的类型
全局锁
缺点
适用范围
表级锁
表锁
元数据锁
意向锁
自增锁
行锁
Record Lock
Gap Lock
Next-Key Lock
插入意向锁
加锁的原则
1、主键等值查询
2、非唯一索引等值查询
3、主键索引范围锁
4、非唯一...[2023/3/3]
linux系统安装MySQL服务,详细图文教程
注:linux系统在安装操作系统时,如果选择了开发工具和兼容库后,一般默认都会安装MySQL服务的部分程序包。如果我们要自定义的安装全新的MySQL服务,就必须先把这些已经安装的程序包都卸载掉。否则,后面这些程序包会给我们带来很多麻烦。
1、查看系统里是否有安装MySQL相关的程序包。
...[2023/3/3]
MySQL中索引的优化的示例详解
目录使用索引优化数据准备避免索引失效应用-全值匹配避免索引失效应用-最左前缀法则避免索引失效应用-其他匹配原则 使用索引优化
索引是数据库优化最常用也是最重要的手段之一,通过索引通常可以帮助用户解决大多数的MySQL的性能优化问题。
数据准备
use world;
crea...[2023/2/20]
mysql主从复制及分表分库
1.首先我们需要两台服务器,安装好mysql(版本为8)
2.修改主服务器mysql数据库配置文件 vim /etc/my.cnf
[mysql]
log-bin=mys...[2023/2/17]
MySQL实现数据批量更新功能详解
目录根据不同条件批量更新同一值根据不同条件更新不同值循环遍历逐条更新foreach多条更新:case when 进行数据批量更新: 根据不同条件批量更新同一值
这种场景直接通过update语句更新即可,如:
UPDATE t_sys_user SET `desc` = ''CaseWhen-...[2023/2/13]
数据库系列:MySQL慢查询分析和性能优化 - Hello-Brand数据库系列:MySQL慢查询分析和性能优化 - Hello-Brand
1 背景
我们的业务服务随着功能规模扩大,用户量扩增,流量的不断的增长,经常会遇到一个问题,就是数据存储服务响应变慢。
导致数据库服务变慢的诱因很多,而RD最重要的工作之一就是找到问题并解决问题。
下面以MySQL为例子,我们从几个角度分析可能产生原因,并讨论解决的方案。
2 定位慢查询的原...[2023/2/10]
MySQL 如何实现数据更新
一般在更新时会遇到以下场景:1.所有字段全部更新;2.根据条件更新字段中的某部分内容;3.根据不同的条件更新不同的值,以下是几种场景中常用的update方法。
一、方法分类
二、具体用法
(1)根据条件更新值
根据指定条件更新(多列)(全部更新)
把表中 [符合条件的行的] 列名1字段...[2023/2/10]
MySQL 如何实现数据插入
使用MySQL插入数据时,可以根据需求场景选择合适的插入语句,例如当数据重复时如何插入数据,如何从另一个表导入数据,如何批量插入数据等场景。本文通过给出每个使用场景下的实例来说明数据插入的实现过程和方法。
一、方法分类
二、具体方法
使用场景
作用
语句
注意
常...[2023/2/8]
MySQL索引总结(Index?Type)
目录MySQL Index1.创建和删除索引2. 索引类型 MySQL Index
索引是一种数据结构,可以是B-tree、R-tree、或者hash结构。其中,B-tree适用于查找某范围内的数据,可以快速地从当前数据找到吓一跳数据;R-tree常用于查询比较接近的数据;hash结构适用于随机...[2023/2/8]
MySQL查看锁的实现代码MySQL查看锁的实现代码
目录MySQL查看锁的sql开启锁监控其他监控 MySQL查看锁的sql
查看数据库状态
# 会显示加锁的信息等等
show engine innodb status;
查看正在执行的线程信息
show full proce list;
查看正在锁的表
show...[2023/2/8]
MySQL优化六,锁MySQL优化六,锁
一,MySQL中的锁
InnoDB中锁非常多,总的来说,可以如下分类:
这些锁都是做什么的?具体含义是什么?我们现在来一一学习。
1.2,解决并发事务问题
我们已经知道事务并发执行时可...[2023/2/2]
MySQL 合并查询join 查询出的不同列合并到一个表中
为了求解问题时思路清晰,建议先分列查询,再将列合并到一个表中,这样相当于将复杂问题拆解为简单问题,一一解决。优点是避免所有问题混在一起,代码逻辑清晰,可迁移性强,下次遇到类似的查询问题能快速求解,缺点是代码看起来不够简洁,存在代码冗余的问题。
一、适用场景和方法
(1)适用场景
考虑查询过程中...[2023/2/2]
解决MySQL报错:You?can‘t?specify?target?table?‘region‘?for?update?in?FROM?clause
目录前言示例一示例二示例三示例四需要注意的地方总结 前言
首先明确一点这个错误只会发生在delete语句或者update语句,拿update来举例 : update A表 set A列 = (select B列 from A表); 这种写法就会报这个错误,原因:你又要修改A表,然后又要从A表查数...[2023/2/2]
MySQL中的多表联合查询功能操作
目录一.介绍数据准备交叉连接查询 内连接查询外连接子查询特点子查询关键字all关键字any关键字和some关键字in关键字exists关键字 自关联查询总结
一.介绍
多表查询就是同时查询两个或两个以上的表,因为有的时候用户在查看数据的时候,需要显示的数据来自多张表.多...[2023/2/2]
MySQL 中一条 sql 的执行过程
一条 SQL 的执行过程
前言
查询
查询缓存
分析器
优化器
执行器
数据更新
日志模块
redo log (重做日志)
binlog (归档日志)
undo log (回滚日志)
两阶段提交
为什么需要两阶段提交
逻辑日志和物理日志
参考
一条 SQL 的执行...[2023/2/1]
MySQL中多种排名实现
一、数据库表结构以及数据
CREATE TABLE `forlan_score` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT ''主键ID'',
`student_name` varchar(255) ...[2023/2/1]
MySQL 合并查询union 查询出的行合并到一个表中MySQL 合并查询union 查询出的行合并到一个表中
在合并查询中,尤其是二分类的情况,在查询结果是相同列名的时候可以考虑合并查询。先查询出行的结果,再使用union或者union all合并查询结果。
另外如果 union 和 order by 一起使用的话要注意使用方法。
一、适用场景和方法
(1)适用场景
考虑查询过程中是否存在以下情况:...[2023/2/1]
MySQL8.0性能优化(实践)MySQL8.0性能优化(实践)
一台几年前的旧笔记本电脑的虚拟系统运行环境,作为本次实践的运行工具,仅供参考。
案例环境:Linux、Docker、MySQLCommunity8.0.31、InnoDB。
过早的MySQL版本不一定适用本章内容,仅围绕 InnoDB 引擎的阐述。
一、索引
1.1 索引的管理
-- ...[2023/2/1]
MySQL性能优化浅析及线上案例
作者:京东健康 孟飞
1、 数据库性能优化的意义
业务发展初期,数据库中量一般都不高,也不太容易出一些性能问题或者出的问题也不大,但是当数据库的量级达到一定规模之后,如果缺失有效的预警、监控、处理等手段则会对用户的使用体验造成影响,严重的则会直接导致订单、金额直接受损,因而就需要时刻关注数据库的...[2023/1/20]
mysql alter添加列的实现方式
目录mysql alter添加列alter的执行过程如下mysql基础之alter字段解读1、先创建一张表testalter_tbl2、删除,添加或修改表字段3、修改字段类型及名称4、 ALTER TABLE 对 Null 值和默认值的影响总结 mysql alter添加列
当表中的数据量不是很...[2023/1/20]
MySql树形结构(多级菜单)查询设计方案
背景
又很久没更新了,很幸运地新冠引发了严重的上呼吸道感染,大家羊过后注意休息和防护
工作中(尤其是传统项目中)经常遇到这种需要,就是树形结构的查询(多级查询),常见的场景有:组织架构(用户部门)查询 和 多级菜单查询
比如,菜单分为三级,一级菜单、二级菜单、三级菜单,要求用户按树形...[2023/1/11]
MySQL join语句怎么优化?
在MySQL的实现中,Nested-Loop Join有3种实现的算法:
1、 Simple Nested-Loop Join:简单嵌套循环连接
2、 Block Nested-Loop Join:缓存块嵌套循环连接
3、 Index Nested-Loop Join:索引嵌套循环连接
...[2023/1/11]
《MySQL必知必会》之事务、用户权限、数据库维护和性能
第二十六章 管理事务处理
本章介绍什么是事务处理以及如何利用COMMIT和ROLLBACK语句来管理事务处理
事务处理
并非所有数据库引擎都支持事务处理
常用的InnoDB支持
事务处理可以用来维护数据库的完整性,它保证成批的MySQL操作要么完全执行,要么完全不执行。
例如给系统添加订...[2022/12/12]
MySQL锁,锁的到底是什么?
MySQL锁系列文章已经鸽了挺久了,最近赶紧挤了挤时间,和大家聊一聊MySQL的锁。
只要学计算机,「锁」永远是一个绕不过的话题。MySQL锁也是一样。
一句话解释MySQL锁:
MySQL锁是解决资源竞争的一种方案。
短短一句话却包含了3点值得我们注意的事情:
对什么资源进行竞争?
...[2022/12/12]
《MySQL必知必会》知识汇总二
六、用通配符进行过滤
本章介绍什么是通配符、如何使用通配符以及怎样使用LIKE操作符进行通配搜索
LIKE操作符
百分号(%)通配符
select prod_id,prod_name
from products
where prod_name like ''jet%'';
%表示任何...[2022/12/5]
Windows 服务器中使用 mysqldump 命令导出数据,解决中文乱码问题
起因
环境:阿里云服务器(windows server)、mysql(8.0.11)
mysql> select @@version;
+-----------+
| @@version |
+-----------+
| 8.0.11 |
+-----------+
1 ro...[2022/12/2]
MySQL进阶实战5,为什么查询速度会慢
一、先了解一下MySQL查询的执行过程
MySQL在查询时,它是由很多子任务组成的,每个子任务都会消耗一定的时间,如果要想优化查询,实际上要优化其子任务,可以消除一些子任务、减少子任务的执行次数、让子任务执行的更快。
MySQL查询的执行过程:从客户端到服务器、然后在服务器进行解析、生成执行计...[2022/12/2]
MySQL 的 NULL 值是怎么存储的?MySQL 的 NULL 值是怎么存储的?
大家好,我是小林。
之前有位读者在面字节的时候,被问到这么个问题:
如果你知道 MySQL 一行记录的存储结构,那么这个问题对你没什么难度。
如果你不知道也没关系,这次我跟大家聊聊 MySQL 一行记录是怎么存储的?
知道了这个之后,除了能应解锁前面这道面试题,你还会解锁这些面试题:
...[2022/12/2]
复现MySQL的索引选择失误以及通过OPTIMIZER_TRACE分析过程
复现MySQL的索引选择失误以及通过OPTIMIZER_TRACE分析过程
验证环境:MySQL 5.7.39 windows-pc
一、构造数据(生成150万数据)
构建一张账户表,带有一级部门id和二级部门id,并且建立有索引。比较典型的业务场景,根据部门id进行各类查询。
CREAT...[2022/12/2]
Mysql中的触发器定义与使用
目录一、触发器的介绍二、触发器的语法(1)insert触发器(2)update触发器(3)delete触发器 一、触发器的介绍
触发器是与表有关的数据库对象,指在insert/update/delete 之前或之后,触发并执行
触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据...[2022/12/2]
MySQL由浅入深探究存储过程
目录一、存储过程的介绍二、存储过程的基本语法三、变量(1)系统变量(2)用户自定义变量(3)局部变量四、存储过程的语法详解(1)if判断(2)参数(3)条件判断case语句(4)while循环语句(5)repeat循环语句(6)loop循环语句(7)cursor游标 一、存储过程的介绍
存储过程...[2022/12/2]
mysql如何统计同一字段不同值的个数
目录订单表解决方案汇总方案1方案2解决思路总结 在一个项目中,制作呃echart图表的时候,遇到一个需求,需要从后端接口获取数据----售票员的姓名和业绩
所以需要在订单表中,获取不同售票员的订单数量。
订单表
解决方案汇总
MySQL 统计一个列中不同值的数量
需求:
...[2022/12/2]
理解MySQL事务理解MySQL事务
事务是什么
百度百科是这么定义的:
事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元。在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。
维基百科:
数据库事务表示在数据库管理系统内...[2022/11/23]
MySQL数据库约束操作示例讲解
目录一、约束是什么二、约束的具体操作Not NULLUNIQUE约束的组合使用PRIMARY KEYDEFAULTFOREIGN KEY 一、约束是什么
约束就是,在创建表的时候,对表设置一些规则,只有满足这些规则,才可以插入数据,我们把这些规则叫做约束
常见的约束有:
约束类型规则Not...[2022/11/19]
一个 MySQL 隐式转换的坑,差点把服务器整崩溃了一个 MySQL 隐式转换的坑,差点把服务器整崩溃了
我是风筝,公众号「古时的风筝」,专注于 Java技术 及周边生态。
文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面。
本来是一个平静而美好的下午,其他部门的同事要一份数据报表临时汇报使用,因为系统目前没有这个维度的功能,所以需要写个SQ...[2022/11/17]
MySql nion与Limit查询介绍
目录1. union合并查询结果集2. limit分页查询 1. union合并查询结果集
查询工作岗位是 MANAGER 和 SALESMAN 的员工?
mysql> select ename, job from emp where job = ''MANAGER'' or job ...[2022/9/20]
MySql存储引擎的作用
目录1. 存储引擎是什么2. 如何给表添加指定存储引擎3. mysql支持那些存储引擎4. mysql常用存储引擎的介绍1. MyISAM存储引擎2. InnoDB存储引擎3. MEMORY存储引擎 1. 存储引擎是什么
存储引擎是 MySql 中特有的一个术语,其它数据库中没有。
实际上存...[2022/9/20]
Mysql 实现向上递归查找父节点并返回树结构的示例代码
通过mysql 8.0以下版本实现,一个人多角色id,一个角色对应某个节点menu_id,根节点的父节点存储为NULL, 向上递归查找父节点并返回树结构。如果只有叶子,剔除掉; 如果只有根,只显示一个秃顶的根 ;如果既有叶子又有根则显示叶子与根。如果 传入角色ID 5,15,25,26,则只查找5...[2022/9/15]
MySQL中字符串比较大小详解(日期字符串比较问题)
前言
数据库中在对于数字与非数字混合的字符串,在进行大小比较的时候,如果两字符串长度相等,那么两字符串就会比较相同位置的字符,比较时若字符是数字,则直接比较,若字符是非数字那么会转换为ascii码进行比较,若在某位置上已经有大小之分,那么就不会再进行比较。
如上所述,当字符串用于比较时间格...[2022/8/31]
MySQL8.0+版本1045错误的问题及解决办法
目录一、管理员权限打开CMD二、CD到自己的MySQL安装目录三、停止MySQL服务四、键入命令行五、重新打开CMD窗口六、登录MySQL数据库七、密码改为空密码八、刷新数据九、退出数据库十、启动MySQL服务十一、命令行正常登录MySQL 使用命令行登录MySQL报错1045 Acce deni...[2022/8/23]
MySQL中数据库优化的常见sql语句总结MySQL中数据库优化的常见sql语句总结
目录1.SHOW ENGINES2.SHOW PROCESSLIST3.SHOW STATUS LIKE 'InnoDB_row_lock%'4.SHOW ENGINE INNODB STATUS5.SHOW INDEXS6.ALTER TABLE xx ENGINE = INNOD...[2022/8/23]
Mysql锁内部实现机制之C源码解析
目录概述行锁结构表锁结构事务中锁的描述 概述
虽然现在关系型数据库越来越相似,但其背后的实现机制可能大相径庭。实际使用方面,因为SQL语法规范的存在使得我们熟悉多种关系型数据库并非难事,但是有多少种数据库可能就有多少种锁的实现方法。
Microsoft Sql Server2005之前只提供...[2022/8/22]
mysql解析json数据组获取数据组所有字段的方法实例
目录引言第一步:一行拆分成多行1.1 新建一张表keyid,只insert从0开始的数字,如下:1.2 找到拆分标识符1.3 通过join on拆分多行第二步:解析json字符串总结 引言
在开发过程中,遇到过json数据组的字符串,需要解析json组,得到组内所有的信息。如下格式:...[2022/8/22]