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;
    
  • 相关阅读:
    一、【注解】Spring注解@ComponentScan
    一致性Hash算法
    垃圾回收器搭配和调优
    JVM的逃逸分析
    简单理解垃圾回收
    类加载机制和双亲委派模型
    VMWare15下安装CentOS7
    HBase协处理器(1)
    依赖注入的三种方式
    Javascript-设计模式_装饰者模式
  • 原文地址:https://www.cnblogs.com/iwsx/p/12348942.html
Copyright © 2011-2022 走看看