zoukankan      html  css  js  c++  java
  • SQL-视图

    视图目的:屏蔽复杂的表之间关系,给用户呈现一个经过整理,直观,清晰的表结构数据;

    视图也是表表达式,它是根据SELECT语句计算或整理出来的虚拟表,创建视图时,要遵守表表达式的要求;

    将Student的Enroll列拆分成年,月,日三列:

    CREATE VIEW V_Student

    AS

    SELECT Id,[Name],

    YEAR(Enroll) YearEnroll,--新增的计算列

    MONTH(Enroll) MonthEnroll,--必须有列名

    DAY(Enroll) DayEnroll,--列名不能重复

    Age,Score

    FROM Student

    这个视图是持久化在数据库的,除非显式删除:

    DROP VIEW 视图名,视图名......   -------可一次删除多个

    可以通过ALTER VIEW修改视图,只能像创建视图一样修改

    ALTER VIEW V_Student

    AS

    SELECT Id,[Name]

    YEAR(Enroll) YearEnroll,

    MONTH(Enroll) MonthEnroll,

    DAY(Enroll) DayEnroll,        --可以不要这一行

    Age,Score

    FROM Student

    WHERE Score>60              --可添加条件

    这种创建的视图被称为:标准视图

    特点:数据库中存储的视图,其实就是创建视图的SELECT语句,不是实际的物理数据;你看到的视图行和列,都是来自‘基’表或‘基’视图;所以视图上的增删改查,都会反应到基表上,反之亦然;通过视图修改数据,不能忽略基表上的约束:NOT NULL等;

    视图的修改:

    1,只能修改直接引用基表的列值,通过计算得到的列值不能修改;

    2,视图与基表之间的同步:只是行数据,而不是列结构;

    如果这篇文章,对你有帮助,请点击关注,我会持续更新......
  • 相关阅读:
    HTML编码规范(转)
    ASP.NET连接MySQL数据库方法(测试可行)
    Redis源码解析05: 压缩列表
    Redis源码解析04: 跳跃表
    Redis源码解析03: 字典的遍历
    Redis源码解析02: 字典
    Redis源码解析01: 简单动态字符串SDS
    小象垃圾分类小程序从开始到结束
    spring boot踩坑记
    spring boot打包问题
  • 原文地址:https://www.cnblogs.com/-GoFurther/p/13734953.html
Copyright © 2011-2022 走看看