MySQL其他操作

本文深入解析MySQL中的视图、索引和触发器,介绍它们的创建、查询、修改和删除方法,以及如何利用这些特性提高数据库查询效率和数据安全性。

MySQL其他操作

1 视图

视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里的数据进行查询和修改。视图是存储在数据字典里的一条SELECT语句。通过创建视图可以提取数据的逻辑上的集合。

视图的优点:
1.对数据库的访问,视图可以有选择性地选取数据库的一部分。
2.用户通过简单的查询可以从复杂查询中得到结果。
3.维护数据的独立性,视图可以从多个表检索数据。
4.对于相同的数据可以产生不同的视图。

1.1创建视图

语法如下:

CREATE VIEW 视图名称 AS 子查询

eg1: 创建一张基本工资大于2000元的员工信息视图
在这里插入图片描述

eg2: 创建一张可以统计部门编号,部门名称,部门人数,部门平均工资的视图
在这里插入图片描述

1.2查询视图

语法如下:

SELECT * FROM VIEW 视图名称

1.3修改视图

语法如下:

CREATE OR REPLACE VIEW 视图名称 AS 查询语句
或者
ALTER VIEW 视图名称 AS 查询语句

该语句用于修改已有视图的定义。当视图不存在时创建,存在时进行修改。

1.4删除视图

语法如下:

DROP VIEW 视图名称

1.5查看视图定义

语法如下:

DESC 视图名称

2 索引

索引用于加快数据的检索,类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果时需要读取的数据量,类似于在书籍中利用索引可以不用翻阅整本书就可以查找到想要的信息。

2.1创建索引

语法如下:

ALTER TABLE 表名称 ADD INDEX 索引名称(字段名称)

eg: 给emp表中的sal字段添加索引
在这里插入图片描述

2.2删除索引

语法如下:

ALTER TABLE 表名称 DROP INDEX 索引名称

eg: 删除emp表中的索引字段index_sal
在这里插入图片描述

2.3说明

给字段添加索引是为了提高查询效率,但不是所有的西段都加上索引。
创建索引的特点:
1.在经常需要搜索的列上创建索引,可以加快搜索的速度;
2.在作为主键的列上创建索引,强制该列的唯一性和组织表中数据的排列结构;
3.在经常需要连接的列上创建索引,这些列主要是一些外键,可以加快连接的速度;
4.在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;
5.在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序加快排序查询的时间;
6.在经常使用在WHERE语句的列上创建索引,加快判断速度。

3 触发器

触发器是指在MySQL中对某一个表的一定操作,触发了某种条件(INSERT,UPDATE,DELETE等),从而自动执行的一段程序,它和Web中的监听器很像。

3.1 创建触发器

语法如下:

CREATE TRIGGER 触发器名称
触发时机
触发事件 ON 表名称
FOR EACH ROW
触发器程序体

其中,触发时机的取值为BEFORE或AFTER;触发事件取值为INSERT,UPDATE或DELETE;表名称是指建立触发器的表名,即在哪张表上建立触发器;触发器程序体可以是一句SQL语句,或者用BEGIN和END包含的多条语句。

eg1: 创建两张表t1,t2,两张表中都有id和name字段,要求向t1表中添加记录后,t2表也会自动添加。
在这里插入图片描述
说明:
NEW是新值
OLD 是旧值
INSERT只有NEW
UPDATE有NEW和OLD
DELETE只有OLD

eg2: 创建t3表演示NEW和OLD的区别
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.2 查看触发器

语法如下:

SHOW TRIGGERS

3.3 删除触发器

语法如下:

DROP TRIGGER
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值