IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【Mysql基础】五.TCL语言(事务控制) -> 正文阅读

[大数据]【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.实际项目中,如果视图过多,会导致数据库维护的成本问题。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-25 10:39:53  更:2022-01-25 10:40:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 14:24:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码