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)

相关推荐

  1. MySQL常见面试题

    2024-04-21 04:40:03       49 阅读
  2. MySQL-笔记-07.试图及索引的应用

    2024-04-21 04:40:03       34 阅读
  3. MySQL常见面试题汇总

    2024-04-21 04:40:03       48 阅读
  4. MySQL常见面试题汇总

    2024-04-21 04:40:03       49 阅读
  5. MySQL优化常见面试题

    2024-04-21 04:40:03       37 阅读
  6. mysql试题笔记425

    2024-04-21 04:40:03       29 阅读
  7. 10个典型的MySQL试题和面试题

    2024-04-21 04:40:03       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 04:40:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 04:40:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 04:40:03       87 阅读
  4. Python语言-面向对象

    2024-04-21 04:40:03       96 阅读

热门阅读

  1. git本地提交记录 删除后如何找回

    2024-04-21 04:40:03       36 阅读
  2. 使用 vllm 运行 Llama3-8b-Instruct

    2024-04-21 04:40:03       39 阅读
  3. 【MySQL面试题pro版-13】

    2024-04-21 04:40:03       35 阅读
  4. 2022 E3 算法题第一题(Banana Count in A Given Letters)

    2024-04-21 04:40:03       39 阅读
  5. C++ 抽象

    2024-04-21 04:40:03       37 阅读
  6. 大数据分析可视化实训平台(1)

    2024-04-21 04:40:03       37 阅读
  7. 【QT教程】QT6QFuture与并发

    2024-04-21 04:40:03       32 阅读
  8. 打jar包

    打jar包

    2024-04-21 04:40:03      31 阅读
  9. RocketMQ同步消息发送失败重试DEMO

    2024-04-21 04:40:03       37 阅读
  10. 模块化编程

    2024-04-21 04:40:03       40 阅读
  11. ZCMU 1531: 序列的混乱程度

    2024-04-21 04:40:03       39 阅读
  12. go拼接字符串的方法

    2024-04-21 04:40:03       35 阅读