MySQL

MySQL 正则表达式

基本语法SELECT 列名 FROM 表名 WHERE 列名 REGEXP '正则表达式';常用元字符元字符说明示例匹配示例^匹配开头'^J'John, Jane$匹配结尾'y$'Lily, Henry.匹配任意单个字符'b.t'bit, bat, but*匹配前一个字符0次或多次'ab*c'a

SQL是什么?它能做什么?

SQL概述SQL(结构化查询语言)是关系型数据库的标准交互语言,几乎所有主流数据库都支持,包括:商用数据库:Oracle、DB2、SQL Server、Sybase开源数据库:MySQL、PostgreSQL小型数据库:AccessSQL核心特点1. 一体化:集数据定义、操作、控制于一体2. 使用灵活:可独立使用也可嵌入其他语言3. 非过

MySQL HAVING 子句

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

MySQL 触发器创建

一、触发器创建语法基本语法:CREATETRIGGERtrigger_nametrigger_timetrigger_eventONtable_nameFOREACHROWtrigger_body参数详解:参数说明trigger_name触发器名称,在当前数据库中必须唯一trigger_time触

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

什么是多表关联更新?在一个执行SQL的UPDATE 语句中,基于另一个表或多个表中的数据,来更新目标表中的数据称之为多表关联更新。很难理解?想象一下,你有一个 orders 表(订单表)和一个 customers 表(客户表)。现在需要将所有来自“上海”的客户的订单状态更新为“优先处理”。如果没有多表关联更新,你可能需要:1.先执行一个 SELECT 查询,找出所有上海客户的ID。2.再根据这些I

MySQL 唯一约束

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

MySQL存储引擎选择指南

主要存储引擎特性对比特性MyISAMInnoDBMEMORY存储限制有支持有事务安全不支持支持不支持锁机制表锁行锁表锁B树索引支持支持支持哈希索引不支持不支持支持全文索引支持不支持不支持集群索引不支持支持不支持数据缓存-支持支持索引缓存支持支持支持数据可压缩支持不支持不支持空间使用低高N/A内存使用低高中等批量插入速度高低高支持外键不支持支持不支持各存储引擎适用场景&nbs

数据库事务 (Transaction)

事务是数据库管理系统中的一个核心机制,它是一个操作序列,包含了一组数据库操作命令(如SELECT, INSERT, UPDATE, DELETE)。事务将这些命令视为一个不可分割的整体,要么全部成功执行,要么全部不执行。它是数据库进行并发控制和故障恢复的最小逻辑工作单元。应用场景:特别适用于多用户同时操作、对数据准确性要求极高的系统,例如:航空公司的订票系统银行、保险公司证

MySQL 交叉连接(CROSS JOIN)

基本概念1. 笛卡尔积数学概念:两个集合X和Y的笛卡尔积是所有可能有序对(x,y)的集合数据库应用:两个表的每一行都与另一个表的每一行组合2. 交叉连接特点返回左表与右表的完全组合不使用任何连接条件结果集行数 = 表1行数 × 表2行数语法格式标准语法SELECT 字段列表 FROM 表1 CROSS

MySQL 触发器修改与删除

一、删除触发器 (DROP TRIGGER)基本语法:DROPTRIGGER[IFEXISTS][database_name.]trigger_name;参数说明:`IF EXISTS`: 可选,避免因触发器不存在而报错`database_name`: 可选,指定数据库名,默认为当前数据库`trigge