MySQL

MySQL IS NULL 和 IS NOT NULL 查询

基本概念在 MySQL 中,`NULL` 表示缺失或未知的值,它与空字符串 `''` 和数值 `0` 有本质区别。`IS NULL` 和 `IS NOT NULL` 是专门用于判断 `NULL` 值的关键字。基本语法查询字段为 NULL 的记录SELECT 字段列表 FROM 表名 WHERE 字段名 IS NULL;查询字段不为 NULL 的记录SELEC

MySQL 子查询

子查询基本概念子查询是指嵌套在 SELECT、INSERT、UPDATE 或 DELETE 语句中的查询语句,必须放在圆括号内。子查询可以多层嵌套。子查询执行顺序先执行最内层的子查询将子查询结果传递给外层查询最后执行外层查询WHERE 子句中的子查询1. IN/NOT IN 子查询用于判断表达式是否在子查询结果集中。示例1:查

MySQL 唯一约束

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

MySQL 事务的语法和流程

一、MySQL 存储引擎对事务的支持InnoDB:默认且最常用的存储引擎,支持事务。其事务实现主要依赖于 UNDO 日志和 REDO 日志。MyISAM:不支持事务。强调高速插入和检索,但不提供原子性、一致性等事务保障。BDB:支持事务,但现在已很少使用。二、核心日志机制1. UNDO Log (回滚日志)作用:用于事务回滚和多版本并发控制 (MVCC)。它记录

MySQL 查看触发器

一、SHOW TRIGGERS 语句基本语法:SHOW TRIGGERS;常用选项:查看指定数据库的触发器SHOWTRIGGERSFROMdatabase_name;查看指定模式的触发器(模糊匹配)SHOWTRIGGERSLIKE'pattern';

什么是MySQL的性能优化,效率低下的SQL该如何查询?

MySql的性能优化指的是在不影响系统能正确运行的前提下,运行速度更快,完成特定功能所需的时间更短。我们可以通过某些有效的方法来提高 MySQL 数据库的性能:核心策略具体方法与示例数据库设计平衡规范与效率选择合适的数据类型规范化:消除冗余,保证数据一致性 (如:将用户地址拆分成独立表)。反规范化:减少JOIN,提升读性能 (如:在用户表中直接存储常用地址字段)。使用&nb

MySQL存储过程

1. 什么是存储过程?存储过程(Stored Procedure)是一组为了完成特定功能的**预编译的SQL语句集合**。它像一个存储在数据库服务器中的“脚本”或“函数”,有一个名字,当需要执行它所定义的操作时,调用它的名字即可。2. 为什么需要存储过程?封装性:隐藏复杂业务逻辑,只暴露调用接口。高性能:预编译,首次编译后直接执行,减少了解析和优化开销。减少网络流量:客户端

MySQL 运算符详解

MySQL 提供了丰富的运算符,允许您对数据进行各种计算和逻辑处理。这些运算符大大增强了 SQL 的灵活性和功能性。以下是 MySQL 支持的四大类运算符及其应用场景:1. 算术运算符 算术运算符用于执行数学计算,是最常用的运算符类型:运算符描述示例结果+加法SELECT 5 + 3;8-减法SELECT 10 - 4;6*乘法SELECT 6 * 7;42/除法SELEC

MySQL查看索引

1. 基本用法: 查看当前数据库下某表的索引SHOWINDEXFROMyour_table_name; 格式化输出,更易读(在MySQL命令行中)S

MySQL如何设置日志输出方式

MySQL的普通查询日志和慢查询日志支持两种输出方式:写入日志文件或写入数据表(位于mysql系统库中)。启用相应日志功能后,可配置输出至文件、数据表,或同时输出到两者。打开客户端命令行,先查看日志输出类型:SHOWVARIABLESLIKE'%log_out%';结果:日志输出类型是FILE.要想在运行时更改日志输出目标,可以在启动服务器时,设