MySQL

MySQL 服务的启动

1. MySQL 服务 vs MySQL 数据库 MySQL 服务:后台进程,负责管理数据库的运行(如`mysqld.exe`)。 MySQL 数据库:存储在磁盘上的数据文件(如表、索引等)。 关系:必须先启动 MySQL 服务,才能访问 MySQL 数据库。 2. 启动/停止 MySQL 服务的两种方式 方式 1:通过计算机

MySQL 其它权限表

MySQL 采用一种层次化的权限管理系统,除了最高级别的 `user` 表,还有更细粒度的权限控制表。当检查一个用户是否能执行某项操作时,MySQL 会按照一个特定的顺序进行权限检查。为了更直观地理解这个过程,我们可以参考以下权限检查流程图:mermaidflowchart TDA[用户发起操作请求] --> B{权限检查}B -- 全局权限 -->

MySQL 外连接(OUTER JOIN)

外连接类型对比连接类型关键字保留表结果特点左外连接LEFT [OUTER] JOIN左表包含左表所有记录 + 右表匹配记录右外连接RIGHT [OUTER] JOIN右表包含右表所有记录 + 左表匹配记录全外连接FULL [OUTER] JOIN两表MySQL不直接支持,需用UNION实现左外连接(LEFT JOIN)基本语法SELECT 字段列表FROM 左表LEFT [

MySQL 唯一约束

唯一约束核心特性1. 唯一性保证:确保列中所有值都是唯一的2. NULL值处理:允许NULL值,但只能有一个NULL(因为NULL不等于NULL)3. 多列约束:一个表可以有多个唯一约束4. 索引自动创建:MySQL会自动为唯一约束列创建唯一索引5. 与主键区别: 主键不允许NULL,唯一约束允许 每表只能有一个主

MySQL 系统变量

变量类型概述MySQL 变量分为两大类:1. 系统变量:以 `@@` 开头 全局变量 (GLOBAL VARIABLES):影响整个MySQL服务 会话变量 (SESSION VARIABLES):影响单个客户端连接2. 用户自定义变量:以 `@` 开头系统变量查看方法&nbsp

MySQL怎么操作多表关联更新?

什么是多表关联更新?在一个执行SQL的UPDATE语句中,基于另一个表或多个表中的数据,来更新目标表中的数据称之为多表关联更新。很难理解?想象一下,你有一个orders表(订单表)和一个customers表(客户表)。现在需要将所有来自“上海”的客户的订单状态更新为“优先处理”。

默认值约束详解

默认值约束是数据库设计中一个重要的概念,它允许为表中的列指定一个默认值,当插入新记录时如果没有为该列提供值,系统会自动使用这个默认值。主要特点1. 自动填充:当插入操作未指定列值时自动使用默认值2. 数据完整性:特别适用于已设置非空约束的列,确保数据有效性3. 灵活性:可以在创建表时或之后添加、修改和删除使用方法创建表时设置默认值CREATETABL

MySQL二进制日志详解

一、二进制日志配置与管理1. 查看二进制日志状态检查二进制日志是否开启SHOWVARIABLESLIKE'log_bin';查看详细的二进制日志配置SHOWVARIABLESLIKE'%log_bin%';查看当前二进制日志格式SHOW

MySQL HAVING 子句

基本语法SELECT 列1, 列2, ..., 聚合函数(列)FROM 表名[WHERE 条件]GROUP BY 分组列HAVING 分组后条件;HAVING 与 WHERE 的核心区别特性WHERE 子句HAVING 子句执行时机在分组前过滤数据在分组后过滤数据可使用聚合函数不可以可以可使用字段别名不可以可以操作对象原始表数据分组后的结果集性能影响先过滤可减少

不遵循数据库三大范式的后果与影响

一、数据冗余:存储空间浪费问题表现: 相同数据在多个位置重复存储 更新时需要同步修改多处,易遗漏 案例: 未规范化的订单表(客户信息重复)CREATETABLEorders(order_idIN