目录 1.对SC表进行插入或修改时,如果考试成绩不在0-100范围内时,则撤销插入或修改操作。 2.对SC表进行插入时,如果学生的选课总学分超过30,则报错并撤销插入。 3.对SC表进行修改时...
mysql
Mysql提权的多种姿势汇总
目录 一、写入Webshell into outfile 写shell 日志文件写shell 二、UDF提权 三、MOF提权 总结 一、写入Webshell into outfile 写shell 前提条件: 1、知道网站物理路径 2、高权限数据库用户 3、load_file...
浅谈mysql join底层原理
目录 join算法 驱动表和非驱动表的区别 1、Simple Nested-Loop Join,简单嵌套-无索引的情况 2、Index Nested-Loop Join-有索引的情况 3、Block Nested-Loop Join ,join buffer缓冲区 缓冲区大小 数据量大的...
线上MySQL的自增id用尽怎么办
目录 表定义自增值id InnoDB系统自增row_id Xid Innodb trx_id InnoDB数据可见性的核心思想 thread_id 总结 MySQL的自增id都定义了初始值,然后不断加步长。虽然自然数没有上限,但定义了表示这个...
SQL实现LeetCode(175.联合两表)
[LeetCode] 175.Combine Two Tables 联合两表 Table:Person +-------------+---------+ | Column Name | Type | +-------------+---------+ | PersonId | int | | FirstName | varchar | | LastName | varchar | +-------------+---------+ PersonId is t...
SQL之各种join小结详细讲解
SQL Left Join, Right Join, Inner Join, and Natural Join 各种Join小结 在SQL语言中,存在着各种Join,有Left Join, Right Join, Inner Join, and Natural Join等,对于初学者来说肯定一头雾水,都是神马跟神马啊,...
Mysql8.0递归查询的简单用法示例
前言 本文使用Mysql8.0的特新实现递归查询,文中给出了详细的实例代码,下面话不多说了,来一起看看详细的介绍吧 Mysql8.0递归查询用法 表数据如下 +--------+----------+------------+ | cat_id...
SQL实现LeetCode(176.第二高薪水)
[LeetCode] 176.Second Highest Salary 第二高薪水 Write a SQL query to get the second highest salary from theEmployeetable. +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+ For examp【本...
MySQL千万级数据表的优化实战记录
前言 这里先说明一下,网上很多人说阿里规定500w数据就要分库分表。实际上,这个500w并不是定义死的,而是与MySQL的配置以及机器的硬件有关。MySQL为了提升性能,会将表的索引装载到...
SQL实现LeetCode(177.第N高薪水)
[LeetCode] 177.Nth Highest Salary 第N高薪水 Write a SQL query to get the n thhighest salary from theEmployeetable. +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+ For example, given th...
SQL实现LeetCode(178.分数排行)
[LeetCode] 178.Rank Scores 分数排行 Write a SQL query to rank scores. If there is a tie between two scores, both should have the same ranking. Note that after a tie, the next ranking number should be the next consecutive integer value....
Mysql中where与on的区别及何时使用详析
之前在写连表查询的时候,老是分不清楚where和on的区别,导致有时写的SQL会出现一点小的问题,这里专门写篇文章做下记录,如果你也分不清,那么请参考 二者的区别及什么时候使用...
SQL实现LeetCode(180.连续的数字)
[LeetCode] 180.Consecutive Numbers 连续的数字 Write a SQL query to find all numbers that appear at least three times consecutively. +----+-----+ | Id | Num | +----+-----+ | 1 | 1 | | 2 | 1 | | 3 | 1 | | 4 | 2 | | 5 | 1 | | 6 | 2 | | 7...
一次mysql迁移的方案与踩坑实战记录
目录 背景 方案一:老数据备份 方案二:分表 方案三:迁移至tidb 重点说下同步老数据遇到的坑 最终同步脚本方案 总结 背景 由于历史业务数据采用mysql来存储的,其中有一张操作记录...
MYSQL使用Union将两张表的数据合并显示
使用UNION操作符 union :用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。 使用union操作符会将多张表中相同的数据取值一次,如果想将表...
Mysql纵表转换为横表的方法及优化教程
1、纵表与横表 纵表:表中字段与字段的值采用key—value形式,即表中定义两个字段,其中一个字段里存放的是字段名称,另一个字段中存放的是这个字段名称代表的字段的值。 例如,...
mysql表分区的使用与底层原理详解
目录 什么是分区表 分区表应用场景 分区表的限制 分区类型 分区表的使用 1、范围分区 2、列表分区(list分区) 3、列分区 4、hash分区 5、秘钥分区(key分区) 6、子分区 添加分区 分区...
SQL实现LeetCode(181.员工挣得比经理多)
[LeetCode] 181.Employees Earning More Than Their Managers 员工挣得比经理多 TheEmployeetable holds all employees including their managers. Every employee has an Id, and there is also a column for the manager Id. +----+-------+-------...
SQL实现LeetCode(182.重复的邮箱)
[LeetCode] 182.Duplicate Emails 重复的邮箱 Write a SQL query to find all duplicate emails in a table named Person. +----+---------+ | Id | Email | +----+---------+ | 1 | a@b.com | | 2 | c@d.com | | 3 | a@b.com | +----+---------+ For ex...
SQL实现LeetCode(183.从未下单订购的顾客)
[LeetCode] 183.Customers Who Never Order 从未下单订购的顾客 Suppose that a website contains two tables, the Customers table and the Orders table. Write a SQL query to find all customers who never order anything. Table: Customers. +...
SQL实现LeetCode(184.系里最高薪水)
[LeetCode] 184.Department Highest Salary 系里最高薪水 The Employee table holds all employees. Every employee has an Id, a salary, and there is also a column for the department Id. +----+-------+--------+--------------+ | Id | Name | S...
SQL实现LeetCode(185.系里前三高薪水)
[LeetCode] 185.Department Top Three Salaries 系里前三高薪水 TheEmployeetable holds all employees. Every employee has an Id, and there is also a column for the department Id. +----+-------+--------+--------------+ | Id | Name | Salary...
MySQL配置主从服务器(一主多从)
目录 思路 主机配置 修改conf 重启 检验 从机1配置 从机2配置 配置主从关联 测试数据同步 常见问题 原因 解决方案 本文主要介绍了MySQL配置主从服务器(一主多从),感兴趣的可以了解一...
MySQL Shell import_table数据导入的实现
目录 1. import_table介绍 2. Load Data 与 import table功能示例 2.1 用Load Data方式导入数据 2.2 用import_table方式导入数据 3. import_table特定功能 3.1 多文件导入(模糊匹配) 3.2 并发导入 3.3 导入速率控...
SQL实现LeetCode(196.删除重复邮箱)
[LeetCode] 196.Delete Duplicate Emails 删除重复邮箱 Write a SQL query to delete all duplicate email entries in a table namedPerson, keeping only unique emails based on itssmallestId. +----+------------------+ | Id | Email | +----+----...
SQL实现LeetCode(197.上升温度)
[LeetCode] 197.Rising Temperature 上升温度 Given aWeathertable, write a SQL query to find all dates' Ids with higher temperature compared to its previous (yesterday's) dates. +---------+------------+------------------+ | Id(INT) | Date(...
浅谈MySQL之select优化方案
目录 生活中的例子 慢查询 如何去优化 count limit 最大值最小值minmax 生活中的例子 我们是否看到过在公司中许多查询语句都是select * xxxx 心中的想法肯定是,别人写了select *,那我写吧,...
MySQL如何解决幻读问题
目录 前言 一、什么是幻读? 二、幻读有什么问题? (1)需要单独解决 (2)间隙锁引发的并发度 三、如何解决幻读? 三、总结 前言 我们知道MySQL在可重复读隔离级别下别的事物提交...
Node-Red实现MySQL数据库连接的方法
要想实现Node-red连接数据库(mysql),首先电脑需要在电脑中下载MySQL软件,并安装Navicat便于操作,这里默认已经安装完毕。 Node-Red中控件下载 在Node-Red中需要先下载所需要的mysql控件:...
MySQL为何不建议使用默认值为null列
通常能听到的答案是使用了NULL值的列将会使索引失效,但是如果实际测试过一下,你就知道IS NULL会使用索引.所以上述说法有漏洞. 着急的人拉到最下边看结论 Preface Null is a special constrai...
MySQL之权限以及设计数据库案例讲解
权限及设计数据库 用户管理 使用SQLyog 创建用户,并授予权限演示 基本命令 /* 用户和权限管理 */ ------------------用户信息表:mysql.user -- 刷新权限FLUSH PRIVILEGES -- 增加用户 CREATE USER kuan...
浅析MySQL 主键使用数字还是uuid查询快
在实际开发中mysql的主键不能重复,可能会采用主键自增,为了防止主键重复也可能会采取雪花算法之类的算法保证,这两种主键保存的都是number类型 但是实际开发中可能会生成uuid作为...
MySQL隔离级别和锁机制的深入讲解
目录 简述: 1. 事务的四大特性 2.多事务并发带来的问题 3.事务的隔离级别 4.演示不同隔离级别出现的问题 读未提交 读已提交 可重复读 串行化 5.锁机制 间隙锁 临建锁 排他锁 总结 简述...
一篇文章带你了解SQL之CASE WHEN用法详解
目录 简单CASE WHEN函数: 等同于,使用CASE WHEN条件表达式函数实现: THEN后边的值与ELSE后边的值类型应一致,否则会报错。如下: 总结 简单CASE WHEN函数: CASE SCORE WHEN 'A' THEN '优' ELSE '不...
MySQL DEFINER具体使用详解
目录 前言: 1.DEFINER简单介绍 2.一些注意事项 总结: 前言: 在 MySQL 数据库中,在创建视图及函数的时候,你有注意过 definer 选项吗?在迁移视图或函数后是否有过报错情况,这些其实...
mysql之group by和having用法详解
GROUP BY语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。 select子句中的列名必须为分组列或列函数,列函数对于group by子句定义的每个组返回一...
sqlmap注入图文详解
目录 1.发现此网址可能存在sql注入漏洞,我们进行sql盲注入测试一下是否存在漏洞。 2.现在拿出我们的kali工具,sqlmap进行注入测试。 3.可以看到存在注入漏洞,扫到了5个数据库。要获...
MySQL多表连接查询详解
目录 多表连接查询 内连接 左连接 右连接 子查询 总结 多表连接查询 表与表之间的连接分为内连接和外连接 内连接:仅选出两张表互相匹配的记录 外连接:既包括两张表匹配的记录,...
浅谈MySQL数据查询太多会OOM吗
目录 全表扫描对server层的影响 全表扫描对InnoDB的影响 InnoDB内存管理 小结 我的主机内存只有100G,现在要全表扫描一个200G大表,会不会把DB主机的内存用光? 逻辑备份时,可不就是做整...
MySQL隐式类型转换导致索引失效的解决
目录 问题 复现 隐式转换 总结 参考 问题 在工作中发现,有一个接口只执行一条SQL查询语句,并且SQL明明使用了主键列,但是速度很慢。 在MySQL中EXPLAINN后发现,执行时并没有使用主键...
MYSQL row_number()与over()函数用法详解
语法格式:row_number() over(partition by 分组列 order by排序列 desc) row_number() over()分组排序功能: 在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、 order...
实操MySQL+PostgreSQL批量插入更新insertOrUpdate
目录 一、百度百科 1、MySQL 2、PostgreSQL 3、PostgreSQL相对于MySQL的优势 二、postgres中insertOrUpdate代码实例 1、创建user表 2、简单的方式实现 3、利用unnest函数实现 4、如果数据已存在,就就什...
mysql中TIMESTAMPDIFF案例详解
1. Syntax TIMESTAMPDIFF(unit,begin,end); 根据单位返回时间差,对于传入的begin和end不需要相同的数据结构,可以存在一个为Date一个DateTime 2. Unit 支持的单位有 MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH Q...
mysql IS NULL使用索引案例讲解
简介 mysql的sql查询语句中使用is null、is not null、!=对索引并没有任何影响,并不会因为where条件中使用了is null、is not null、!=这些判断条件导致索引失效而全表扫描。 mysql官方文档也已经...
mysql回表致索引失效案例讲解
简介 mysql的innodb引擎查询记录时在无法使用索引覆盖的场景下,需要做回表操作获取记录的所需字段。 mysql执行sql前会执行sql优化、索引选择等操作,mysql会预估各个索引所需要的查询...
SQL insert into语句写法讲解
方式1、 INSERT INTO t1(field1,field2) VALUE(v001,v002); 明确只插入一条Value 方式2、 INSERT INTO t1(field1,field2) VALUES(v101,v102),(v201,v202),(v301,v302),(v401,v402); 在插入批量数据时 方式2 优于 方式1. 【特注】...
MySql分页时使用limit+order by会出现数据重复问题解
目录 摘要 问题描述 分析问题 解决问题 摘要 能把复杂的知识讲的简单很重要 在学习的过程中我们看过很多资料、视频、文档等,因为现在资料视频都较多所以往往一个知识点会有多种...
MySQL之information_schema数据库详细讲解
1. 概述 information_schema 数据库跟 performance_schema 一样,都是 MySQL 自带的信息数据库。其中 performance_schema 用于性能分析,而 information_schema 用于存储数据库元数据(关于数据的数据),例如...
docker 部署mysql详细过程(docker部署常见应用)
之前给大家介绍过:docker(部署常见应用):docker部署nginx docker部署mysql:5.7.26 # 下载镜像docker pull mysql:5.7.26# 查看镜像docker images|grep mysql# 启动容器镜像,建议在/usr/local/workspace/mysql 下执行...
Linux下MySQL多实例部署及安装指南
什么是MySQL多实例 简单地说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(3306、3307),同时运行多个Mysql服务进程,这些服务进程通过不同的socket监听不同的服务端口...