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';
    


    作者:关小涛
    学习和分享是博客最大的乐趣,欢迎大家取之所需。
    努力是自己努力的原因,每周天写博客总结工作中的新技能和出现的问题
  • 相关阅读:
    Django之web本质
    Python之队列
    Python之阻塞IO模型与非阻塞IO模型
    *****Python之进程线程*****
    ***Python之UDP***
    Python之FTP实现
    Python之粘包
    Python之目录结构
    Python之套接字
    Linux内核分析:Linux内核启动流程分析
  • 原文地址:https://www.cnblogs.com/XtsLife/p/10992846.html
Copyright © 2011-2022 走看看