• 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;
    
  • 相关阅读:
    chapter4.6生成器
    chapter4.4、递归
    chapter4.3、函数执行流程
    chapter4.2、函数返回值
    直接插入排序
    打印三角型的练习
    杂记
    linux top命令
    makefile 中的 := , += ,?=
    makefile中的shell语法 || Makefile中的@
  • 原文地址:https://www.cnblogs.com/iwsx/p/12348942.html
Copyright © 2020-2023  润新知