MySQL

MySQL 索引 (Index)

一、为什么需要索引?两种数据访问方式对比访问方式 工作原理 比喻 优点 缺点 1. 顺序访问 (Full Table Scan) 逐行扫描整个表,直到找到所有符合条件的记录。 逐页翻阅字典查找一个字。 实现简单。 效率极低。当表数据量巨大时,查询耗时无法接受。 2. 索引访问 (Index Lookup) 首先在索

MySQL 创建索引

创建索引主要有三种时机:1) 建表时同时创建;2) 修改已存在的表结构时添加;3) 使用专门的 `CREATE INDEX` 语句为已存在的表添加。一、三种创建索引的方法方法 1: 使用 `CREATE INDEX` 语句 (最常用)专门用于在已存在的表上创建索引(不能创建主键)。语法:CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX <索

MySQL查看索引

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

MySQL 修改和删除索引

一、删除索引的两种方法方法 1: 使用 `DROP INDEX` 语句 (标准做法)这是最直接、最常用的专门用于删除索引的语句。语法:DROP INDEX <索引名> ON <表名>; `<索引名>`:要删除的索引的名称。 `<表名>`:该索引所在的表名。示例:删除表 `empl

MySQL存储过程

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

MySQL 创建存储过程

一、 为什么使用存储过程?简化操作:将多步操作封装成一个命令。提高效率:一次编译,多次运行,减少网络传输。减少错误:集中处理业务逻辑,避免在应用程序中重复编写和出错。二、 创建存储过程的基本语法CREATE PROCEDURE <过程名> ( [过程参数[,…] ] )BEGIN <过程体>END;1.

MySQL 查看存储过程详解

创建存储过程后,我们经常需要查看其详细信息,包括其状态(何时创建、属于哪个数据库等)和具体的定义(源代码)。MySQL 提供了多种方法来实现这一点。一、 查看存储过程的状态:`SHOW PROCEDURE STATUS`这条命令用于列出存储过程的元数据信息(描述信息),类似于文件属性。1. 基本语法SHOW PROCEDURE STATUS [LIKE 'pattern&#39

MySQL 修改存储过程

一、 `ALTER PROCEDURE` 的语法与用途1. 基本语法ALTER PROCEDURE procedure_name [characteristic ...]2. 可修改的特征(characteristic)这些特征主要用于提供元数据信息,帮助 MySQL 和开发者理解存储过程的行为,某些特征(如 `SQL SECURITY`)也具有实际的安全影响。

MySQL 删除存储过程

一、 基本删除语法1. 标准删除命令DROP PROCEDURE [IF EXISTS] procedure_name; `procedure_name`:指定要删除的存储过程的名称。 重要:存储过程名称后面没有参数列表和括号,这与调用 (`CALL proc_name()`) 和定义时不同。 `IF

MySQL 存储函数

一、存储函数 vs. 存储过程特性 存储函数 (FUNCTION) 存储过程 (PROCEDURE) 返回值 必须通过 `RETURN` 语句返回一个值 可以通过 `OUT`/`INOUT` 参数返回零个或多个值,但没有直接返回值 核心用途 计算并返回一个结果 执行复杂的业务逻辑操作(如增删改、事务管理