zoukankan      html  css  js  c++  java
  • 视图和字段

    视图是一种虚拟表,是从数据库中一个或多个表中导出来的表。视图还可以从已经存在的视图的基础上定义.数据库中只存放了视图的定义,而并没有存放视图的数据.

    CREATE [ALGORITHM={undefined|merge|temptable}]
    VIEW 视图名 [(属性清单)]
    AS SELECT 语句 [with [CASCADED|LOCAL] CHECK OPTION]
    
    ALGORITHM 是可选参数,表示视图选择的算法:
    属性清单:指定了视图中各个属性的名次
    WITH CHECK OPTION  表示更新视图时要保证在该视图的权限范围之内
    CASCADED 可选参数 表示更新视图 时要满足所有相关的视图和表的条件 

    表和视图共享数据库中相同的名称空间,因此,数据库不能包含具有相同名称的表和视图。
    CREATE TABLE  ceshi1_view AS select * from ceshi1;

    create view ceshi2_view(name) AS select name from ceshi2;   创建一个ceshi2_view属性 在ceshi2中查出来的属性就是view中对应的属性


    视图定义服从下述限制:

    SELECT语句不能包含FROM子句中的子查询。

    · SELECT语句不能引用系统或用户变量。

    · SELECT语句不能引用预处理语句参数。

    · 在存储子程序内,定义不能引用子程序参数或局部变量。

    · 在定义中引用的表或视图必须存在。但是,创建了视图后,能够舍弃定义引用的表或视图。要想检查视图定义是否存在这类问题,可使用CHECK TABLE语句。

    · 在定义中不能引用TEMPORARY表,不能创建TEMPORARY视图。

    · 在视图定义中命名的表必须已存在。

    · 不能将触发程序与视图关联在一起。

  • 相关阅读:
    Docker搭建redis集群
    PHP中的OPCode和OPCache
    Redis的三种集群模式
    MySQL事务的隔离级别
    Docker镜像分层技术
    为什么 MongoDB 选择B树,Mysql 选择B+树?
    MongoDB的使用
    cesium+vue挖坑展示
    Ceium+Vue踩坑记录
    渲染总结——记录
  • 原文地址:https://www.cnblogs.com/mengluo/p/4769801.html
Copyright © 2011-2022 走看看