【Mysql基础】五.TCL语言(事务控制)
2022/1/25 2:04:36
本文主要是介绍【Mysql基础】五.TCL语言(事务控制),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一.常见的数据库对象
对象 | 描述 |
---|---|
表(TABLE) | 存储数据的逻辑单元,以行和列的形式存在 |
数据字典 | 系统表,存放数据库相关信息的表,系统表的数据通常由数据库系统维护,程序员通常不应该修改,只可查看 |
约束(CONSTRAINT) | 执行数据校验的规则,用于保证数据完整性的规则 |
视图(VIEW) | 一个或者多个数据表里的数据的逻辑显示,视图并不存储数据 |
索引(INDEX) | 用于提高查询性能,相当于书的目录 |
存储过程(PROCEDURE) | 用于完成一次完整的业务处理,没有返回值,但可通过传出参数将多个值传给调用环境 |
存储函数(FUNCTION) | 用于完成一次特定的计算,具有一个返回值 |
触发器(TRIGGER) | 相当于一个事件监听器,当数据库发生特定事件后,触发器被触发,完成相应的处理 |
二.视图(VIEW)
一.为什么要使用视图?
1.帮我们使用表的一部分而不是所有的表
2.针对不同的用户制定不同的查询视图
二.对于视图的理解
1.视图是一种虚拟表,本身不具有数据,占用很少的内存空间。
2.视图建立在已有表的基础上,视图赖以建立的这些表称为基表。
3.视图的创建和删除只影响视图本身,不影响对应的基表。但对视图中的数据进行增删改时,基表中的数据也会发生相同的变化,反之亦然。
4.向视图提供数据内容的语句为SELECT语句,可以将视图理解为存储起来的SELECT语句
三.创建视图
语法:
CREATE VIEW 视图名称【字段列表】 AS 查询语句
1.在create view 语句中嵌入子查询
CREATE VIEW 视图名称
AS 查询语句
2.如何创建视图
2.1针对于单表
CREATE VIEW vu_emp1 AS SELECT employee_id,last_name,salary FROM emps;
情况1:查询基表中的内容
查询语句中的别名会作为view中的字段名
方式1
CREATE VIEW vu_emp2 AS SELECT employee_id emp_id,last_name lname,salary FROM emps WHERE salary>8000;
方式2
CREATE VIEW vu_emp3(emp_id,name,monthly_sal) AS SELECT employee_id,last_name,salary FROM emps WHERE salary>8000;
情况2:查询基表中不存在的内容(通过基表中的内容计算得出)
查询平均工资作为新视图(原表中不存在的元素‘平均工资’)
CREATE VIEW vu_emp_sal AS SELECT department_id,AVG(salary) avf_sal FROM emps WHERE department_id IS NOT NULL GROUP BY department_id;
2.2针对于多表
CREATE VIEW vu_emp_dept AS SELECT e.employee_id,e.department_id,d.department_name FORM emps e JOIN depts d ON e.`department_id`=d.`department_id`;
利用视图对数据进行格式化
CREATE VIEW vu_emp_dept1 AS SELECT CONCAT(e.last_name,'(',d.department_name,')') emp_info FROM emps e JOIN depts d ON e.`department_id`=d.`department_id`;
2.3
基于视图创建视图
CREATE VIEW emp4 AS SELECT employee_id,last_name FROM vu_emp1;
四.查看视图
一.查看数据库的表对象,视图对象
SHOW TABLES;
二.查看视图的结构
DESC vu_emp1;
三.查看视图的属性信息
SHOW TABLE STATUS LIKE 'vu_emp1';
四.查看视图的详细定义信息
SHOW CREATE VIEW vu_emp1;
五.更新视图中的数据
5.1可以”修改“的视图中的数据的情况
更新视图数据会导致基表中的数据也被修改
更新基表的数据也会导致视图中的数据被修改
5.2不能修改的视图中的情况是
基表中不存在一对一关系的内容,无法进行修改(即通过创建视图时对基表进行的计算产生的新内容)
六.修改、删除视图
一.修改视图
方式一:
CREATE OR REPLACE VIEW vu_emp1 AS SELECT employee_id,last_name,salary,email FROM emps WHERE salary>7000;
方式二:
ALTER VIEW vu_emp1 AS SELECT employee_id,last_name,salary,email FROM emps WHERE salary>7000;
二.删除视图
DROP VIEW IF EXISTS vu_emp4;
七.总结
一.视图优点
1.操作简单
2.减少数据冗余
3.数据安全
4.适应灵活多变的需求
5.能够分解复杂的查询逻辑
二. 视图缺点
1.如果实际数据表的结构变了,需要及时对相关视图进行相应的维护,维护比较复杂。
2.实际项目中,如果视图过多,会导致数据库维护的成本问题。
这篇关于【Mysql基础】五.TCL语言(事务控制)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享
- 2024-02-22docker mysql 5.7
- 2024-02-18从 20 多套 MySQL 到 1 套 TiDB丨骏伯网络综合运营管理平台应用实践
- 2024-02-07mysql 外键索引入门介绍,为什么工作中很少有人使用?