zoukankan      html  css  js  c++  java
  • MySQL基础(4) | 视图

    MySQL基础(4) | 视图


    基本语法

    1.创建

    CREATE VIEW <视图名> AS <SELECT语句>
    

    语法说明如下。

    • <视图名>:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。
    • <SELECT语句>:指定创建视图的 SELECT 语句,可用于查询多个基础表或源视图。

    对于创建视图中的 SELECT 语句的指定存在以下限制:

    • 用户除了拥有 CREATE VIEW 权限外,还具有操作中涉及的基础表和其他视图的相关权限。

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

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

    • 视图定义中不能引用 TEMPORARY 表(临时表),不能创建 TEMPORARY 视图。

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

    1. 修改
    ALTER VIEW <视图名> AS <SELECT语句>
    
    1. 删除
    DROP VIEW <视图名1> [ , <视图名2> …]
    

    示例:

    #创建数据表
    create table mygoods(
      g_id int AUTO_INCREMENT primary key,
    	g_name varchar(20),
    	g_price double,
    	g_count int
    )engine=innodb default CHARSET=utf8;
    
    create table myperson(
    	p_id int AUTO_INCREMENT primary key,
    	p_name varchar(20),
    	g_id int,
    	foreign key fk_pid(g_id)
    	references mygoods(g_id)
    );
    
    #插入数据
    insert into mygoods(g_name, g_price, g_count) select '梨', 2.2, 3;
    insert into mygoods(g_name, g_price, g_count) select '苹果', 5.6, 2;
    insert into myperson(p_name,g_id) select '小白',1;
    
    #创建视图
    CREATE VIEW v_mygoods
    as select g_price, g_count, g_price * g_count as total from mygoods;
    #查看视图
    select * from v_mygoods;
    
    create view v_myperson
    as select a.p_name, b.g_price * b.g_count as tP from myperson a inner join mygoods b on a.g_id = b.g_id;
    
    select * from v_myperson;
    
  • 相关阅读:
    P4165 [SCOI2007]组队
    CF575B
    SG函数胡乱一气
    CF280C Game on Tree
    AGC010F
    CF140E
    多功能的低功耗蓝牙可穿戴设备用于监测血液酒精浓度
    智能手环幕后的英雄
    图像处理实用资源
    15.12DataGridView分页显示
  • 原文地址:https://www.cnblogs.com/dearroy/p/14019499.html
Copyright © 2011-2022 走看看