MySQL基础(4) | 视图[亲测有效]

MySQL基础(4) | 视图[亲测有效]MySQL基础(4) | 视图 基本语法 1.创建 语法说明如下。 “:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。 “:指定创建视图的 SELECT 语句,可用于查询多

MySQL基础(4) | 视图

MySQL基础(4) | 视图


基本语法

1.创建

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

代码100分

语法说明如下。

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

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

  • 用户除了拥有 CREATE VIEW 权限外,还具有操作中涉及的基础表和其他视图的相关权限。
  • SELECT 语句不能引用系统或用户变量
  • SELECT 语句不能包含 FROM 子句中的子查询
  • 视图定义中不能引用 TEMPORARY 表(临时表),不能创建 TEMPORARY 视图。

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

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

示例:

代码100分#创建数据表
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;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9859.html

(0)
上一篇 2023-01-30
下一篇 2023-01-31

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注