Category: SQL
-
多平台数据库初始化方案
Public目标:统一理解「初始化」= 创建库、创建用户、授权、初始化表结构、基础种子数据;区分裸机 Linux、Windows、Docker、K8s、信创平台、云数据库,覆盖 MySQL / PostgreSQL / OpenGauss / Redis / MongoDB。 下面按平台分类,给可直接复制的脚本
-
如何选择使用内连接、左连接还是右连接
Public核心选择口诀 要交集、两边都必须有 → INNER JOIN(内连接) 左边数据一条都不能丢,右边可有可无 → LEFT JOIN(左连接)【最常用】 右边数据一条都不能丢,左边可有可无 → RIGHT JOIN(右连接)【尽量少用】 开发通用建议:优先左连接,能用左连接就不用右连接,调换表顺序就可
-
一句话核心:哪边是左表、哪边是右表,谁就保留全部数据 语法顺序:A LEFT JOIN B → A 是左表;A RIGHT JOIN B → A 是右表 1. 左连接 LEFT JOIN(LEFT OUTER JOIN) 保留左表所有行,匹配右表符合条件的数据;匹配不到的右表字段填 NULL --
-
SQL 中内连接和左连接的区别
Public内连接 INNER JOIN 只返回两张表中匹配成功的行,两边条件都满足才会出现在结果里。 取交集 语法: SELECT * FROM A INNER JOIN B ON A.id = B.a_id; A 和 B 满足 A.id = B.a_id 的数据才保留 A 里没有匹配 B 的记录、B 里没
-
SQL 分组统计 + 排序
Public核心关键字:GROUP BY 分组、聚合函数(COUNT/SUM/AVG/MAX/MIN)、ORDER BY 排序 规则: SELECT 后面非聚合字段,必须出现在 GROUP BY 里 WHERE 在分组前过滤;HAVING 在分组后过滤(过滤聚合结果) ORDER BY 写在最后,ASC 升序(
-
MySQL 慢查询日志完整分析指南
Public慢查询日志本质:MySQL 把执行超过阈值、或未走索引的 SQL,按顺序记录到日志文件 /mysql.slow_log表里。 核心目标:找到热点 SQL、区分是真的执行慢,还是锁等待、扫描行数巨大。 前置:先确认配置 show variables like 'slow_query_log_file'
-
MySQL 慢 SQL 排查脚本合集
Public适用 MySQL 5.7 / 8.0,分为:慢查询日志开启检查、在线抓慢 SQL、分析慢日志、锁 & 事务、索引检查、性能视图排查 ⚠️ 注意:线上执行尽量避开高峰;performance_schema 需要提前开启;部分 SQL 需要 SUPER 权限 一、先检查慢查询配置(必跑) -- 查看慢查
-
一、MyBatis 原生插入示例 实体类 User.java import lombok.Data; @Data public class User { private Long id; private String name; private Integer age; }
-
MySQL INSERT 插入语句
Public1. 基础语法(指定字段,推荐) INSERT INTO 表名 (字段1, 字段2, 字段3) VALUES (值1, 值2, 值3); 示例: INSERT INTO user (id, name, age) VALUES (1, '张三', 20); ✅ 优点:顺序不受表字段顺序影响,可读性
-
MySQL 8.0 生产 my.cnf 模板
Public说明: MySQL8.0 默认配置文件路径:/etc/my.cnf(RHEL/CentOS/openEuler),Debian/Ubuntu 是 /etc/mysql/my.cnf 适配 InnoDB 为主,几乎不使用 MyISAM;适合业务库(Java 微服务、高并发 OLTP),非数仓 关闭过时