一、视图的操作

为了提高SQL语句的复用性和操作表的安全性,,MySQL数据库管理系统5提供了视图特性。

视图:本质上是一种虚拟表,其内容与真实的表相似,包含一系列带有名称的行和列数据。但是视图并不在数据库中一存储的数据值形式存在。行和列数据来自定义视图的查询所引用基本表,并且在具体引用视图时动态生成。

(一)视图的特点

  • 视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系
  • 视图是由基本表(实表)产生的表(虚表)
  • 视图的建立和删除不影响基本表
  • 对视图内容的更新(添加、删除和修改)直接影响基本表
  • 当视图来自多个基本表时,不允许添加和删除数据

(二)创建视图

1.创建视图的语法形式

虽然视图可以被看成是一种虚拟表,但是其在物理上是不存在的,即数据库管理系统没有专门的位置为视图存储数据。

create view view_name
AS 查询语句
  • 注意:在SQL语句命名规范中,视图一般以view——xxx或者v_xxx的样式来命名
2.视图查询
SELECT *
FROM view_name;
3.查看视图
#查看视图名
SHOW TABLES;
#查看视图详细信息
SHOW TABLE STATUS [FROM db_nam] [LIKE 'pattern]';
eg: SHOW TABLE STATUS
FROM VIEW
LIKE ‘view_xxxx’ \G
#查看视图定义信息
SHOW CREATE VIEW viewname;
  • 查看视图设计 信息
DESCRIBE |DESC viewname;
  • 通过系统表查看视图信息

当MySQL数据库安装成功后,会自动创建系统数据库information_schema。在该数据库中存在一个包含视图信息的表格views,可通过查看表格views来查看所有视图的相关信息。

(三)删除视图

1.删除视图的语法
DROP VOEW view_name [.view_name]...

(四)修改视图

1.修改视图语句
# CREATE OR REPLACE VIEW 语句修改视图
create or replace view view_name
as 查询语句;
# ALTER 语句修改视图
ALTER VIEW viewname
as 查询语句;
(五)利用视图操作基本表

在MySQL中可以通过视图检索基本表数据,这是视图最基本的作用,除此之外还可以通过视图修改基本表中的数据。

1.检索(查询)数据

通过视图查询数据,与通过表进行查询完全相同,只不过通过视图查询比表更安全,更简单,使用。在具体实现的时候只需要将表名改为视图名即可。

SELECT *
FROM view_name;
2.利用视图操作基本表数据
  • 对视图数据进行添加、删除操作直接影响基本表
  • 视图来自多个基本表时,不允许添加和删除数据。
  • 添加数据操作
INSERT INTO view_name (id,那么,price,order_id)
VALUES(11,‘PEAR4’,12.3,2);
  • 删除数据操作
DEFAULT  FROM view_product
WHERE name ='apple1';
  • 更新数据操作
UPDATE view_product
set price=3.5
WHERE name='pear1';

Mysql基础知识--视图的更多相关文章

  1. mysql基础知识大全

    前言:本文主要为mysql基础知识的大总结,mysql的基础知识很多,这里作简单概括性的介绍,具体的细节还是需要自行搜索.当然本文还有很多遗漏的地方,后续会慢慢补充完善. 数据库和数据库软件 数据库是 ...

  2. mysql基础知识语法汇总整理(二)

    mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...

  3. MySQL 基础知识梳理

    MySQL 的安装方式有多种,但是对于不同场景,会有最适合该场景的 MySQL 安装方式,下面就介绍一下 MySQL 常见的安装方法,包括 rpm 安装,yum 安装,通用二进制安装以及源码编译安装, ...

  4. MySQL基础知识:创建MySQL数据库和表

    虚构一个微型在线书店的数据库和数据,作为后续MySQL脚本的执行源,方便后续MySQL和SQL的练习. 在虚构这个库的过程中,主要涉及的是如何使用命令行管理 MySQL数据库对象:数据库.表.索引.外 ...

  5. mysql基础知识语法汇总整理(一)

    mysql基础知识语法汇总整理(二)   连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...

  6. MySQL基础知识:启动管理和账号管理

    整理.记录常用的MySQL基础知识:时间久了,很多就忘记了. 操作系统环境为MacOS Catalina, MySQL版本为: 8.0.13 MySQL Community Server - GPL. ...

  7. MySQL基础知识:Character Set和Collation

    A character set is a set of symbols and encodings. A collation is a set of rules for comparing chara ...

  8. Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型

    1.基础知识 1.1.数据库概述 简单地说:数据库(Database或DB)是存储.管理数据的容器: 严格地说:数据库是"按照某种数据结构对数据进行组织.存储和管理的容器". 总结 ...

  9. mysql基础知识笔记

    Mysql基础笔记 环境配置 基本概念 mysql命令行 进入 use show 查询 select order by where like 数据过滤regexp concat 文本函数 日期函数 数 ...

随机推荐

  1. 【Spring AOP】AOP实现原理(六)

    原文链接:https://my.oschina.net/guangshan/blog/1797461

  2. luoguP4094 [HEOI2016/TJOI2016]字符串

    题意 考虑二分答案\(mid\),现在我们要判断\(s[c...c+mid-1]\)是否在\(s[a...b]\)出现过. 首先找到\(s[c...c+mid-1]\)所在的状态: 建出\(paren ...

  3. 开源规则引擎 drools

    java语言开发的开源业务规则引擎 DROOLS(JBOSS RULES )具有一个易于访问企业策略.易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快.效率高.业务分析师或审核人员可以利用 ...

  4. [分布式学习]消息队列之rocketmq笔记

    文档地址 RocketMQ架构 哔哩哔哩上的视频 mq有很多,近期买了<分布式消息中间件实践>这本书,学习关于mq的相关知识.mq大致有有4个功能: 异步处理.比如业务端需要给用户发送邮件 ...

  5. fastadmin表单提交后却没有关闭弹窗

    点击操作按钮弹出窗口,操作完之后提交表单,无论操作成功还是失败,窗口都不关闭,操作之后出现一个笑脸,3秒后回到弹框刚打开的样子 而我们想要的是这个效果: 在jS那里给这个按钮绑定一个事件即可实现

  6. python threading ThreadPoolExecutor

    线程池,为什么要使用线程池:1. 线程中可以获取某一个线程的状态或者某一个任务的状态,以及返回值2. 当一个线程完成的时候我们主线程能立即知道3. futures可以让多线程和多进程编码接口一致 获取 ...

  7. MyCat(转)

    https://www.cnblogs.com/bingosblog/p/7171501.html    http://www.cnblogs.com/joylee/p/7513038.html ht ...

  8. SimdJsonSharp:每秒解析千兆字节的JSON

    SimdJsonSharp: Parsing gigabytes of JSON per second C# version of lemire/simdjson (by Daniel Lemire ...

  9. NLP第二课(搜索)

    最近压力太大了,持续性修改0注释的代码,变量为阿拉伯数字的代码,压力山大,摆正心态,没有那些bug,还需要我们来做些什么呢?如果一个特别出色的项目,也体现不出来你个人的出色.几句牢骚,我们今天来继续说 ...

  10. MyBatis面试题集合,90%会遇到这些问题

    1.#{}和${}的区别是什么? ${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc. ...