MySQL 试图

视图功能在 5.0 以后的版本启用
视图是一张虚表。数据表确实包含了具体数据并且保存到硬盘中的实表。视图使用数据检索语句动态生
成的一张虚表。每一次数据服务重启或者系统重启之后,在数据库服务启动期间,会使用创建视图的语
句重新生成视图中的数据,视图的数据保存在内存中。

视图的使用规则和限制条件

和数据表一样,视图也必须拥有一个唯一不重复的名字(一般是在库的范围内)
对于视图的创建是没有数量限制
创建视图的时候,必须有对应的权限,权限一般由数据库管理员授予
视图和视图之间是可以实现连表查询和嵌套查询的
order by 的排序语句可以在视图中使用,如果创建视图的查询语句中存在order by 针对视图查询结果排除的语句将被覆盖
视图中不可以使用索引、触发器、设置默认值

视图使用

CREATE VIEW 创建视图
SHOW CREATE VIEW 视图名查看视图创建的语句
DROP VIEW 视图名删除视图
更新一个视图的数据,可以先使用 DROP 删除视图,然后使用 create 创建视图,简化版使用
CREATE OR REPLACE VIEW 如视图存在就先删除,再创建,如果视图不存在则直接创建

案例:

创建一个 vendorsproducts 视图,实现 vendors products 连表。首先使用搞一个 SELECT 语句保证数据检索效果
mysql> CREATE VIEW vendorproducts AS SELECT v.vend_id,v.vend_name,p.prod_id,p.prod_name FROM vendors as v INNER JOIN products as p ON v.vend_id = p.vend_id;
Query OK, 0 rows affected (0.05 sec)

 显示所有有订单号的客户信息

mysql> CREATE VIEW CustomersWithOrders AS
    -> select c.* from customers as c
    -> INNER JOIN
    -> orders as o ON c.cust_id=o.cust_id;
Query OK, 0 rows affected (0.01 sec)

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值