zoukankan      html  css  js  c++  java
  • Mysql基础知识--视图

    一、视图的操作

    为了提高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';
    


    作者:关小涛
    学习和分享是博客最大的乐趣,欢迎大家取之所需。
    努力是自己努力的原因,每周天写博客总结工作中的新技能和出现的问题
  • 相关阅读:
    2018 ACM 网络选拔赛 徐州赛区
    2018 ACM 网络选拔赛 焦作赛区
    2018 ACM 网络选拔赛 沈阳赛区
    poj 2289 网络流 and 二分查找
    poj 2446 二分图最大匹配
    poj 1469 二分图最大匹配
    poj 3249 拓扑排序 and 动态规划
    poj 3687 拓扑排序
    poj 2585 拓扑排序
    poj 1094 拓扑排序
  • 原文地址:https://www.cnblogs.com/XtsLife/p/10992846.html
Copyright © 2011-2022 走看看