MySQL

MySQL存储过程

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

MySQL 修改和删除索引

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

MySQL查看索引

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

MySQL 创建索引

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

MySQL 索引 (Index)

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

MySQL 删除视图

一、基本语法使用 `DROP VIEW` 语句来删除一个或多个视图。语法:DROP VIEW [IF EXISTS] <视图名1> [, <视图名2>, ...];参数说明:`<视图名>`:指定要删除的视图的名称。可以同时指定多个视图名,用逗号分隔,实现批量删除。`IF EXISTS`:可选但强烈推荐使用。用于防止要删除的视图不存在时出现

MySQL 修改视图

一、修改视图定义 (Schema)当基础表结构发生变化,或需要改变视图呈现数据的逻辑时,需要修改视图定义。方法 1:使用 `ALTER VIEW` (推荐)这是直接修改视图的标准方法。语法:ALTER VIEW <视图名> [(列名1, 列名2, ...)]AS <SELECT语句>示例:将视图 `view_students_info` 从选择所有列改为只选择

MySQL 查看视图

一、查看视图的字段结构 (Schema)使用 `DESCRIBE` 或 `DESC` 命令可以查看视图的列信息,就像查看普通表一样。语法:DESCRIBE 视图名;或DESC 视图名;示例:DESC v_studentinfo;输出结果解读:FieldTypeNullKeyDefaultExtranamevarchar(20)YESNULLscoredecimal(4,2)YESNUL

MySQL创建视图 (View)

一、创建视图CREATE VIEW <视图名称> [(<列名1>, <列名2>, ...)]AS <SELECT语句>[WITH CHECK OPTION];关键参数说明:`<视图名称>`:视图的唯一标识符。`(<列名1>, <列名2>, ...)`:可选。为视图的列指定自定义名称,数量必须

MySQL视图

1. 虚拟性:不存储数据,只存储定义(SQL 查询)。2. 动态性:每次查询视图,都会执行其背后的 `SELECT` 语句,因此总能反映基表的最新数据。3. 安全性:可以屏蔽敏感数据或复杂查询逻辑。4. 简化性:将复杂的联表查询和过滤条件封装起来,提供一个简单的表结构供用户查询。根据需求,需要为生产部门的领导创建一个视图,只显示该部门员工