我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MYSQL中视图如何使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MYSQL中视图如何使用

MYSQL中视图如何使用?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

1、什么是视图

执行一条SQL,将结果集保存在一张虚拟表中

(相关推荐:MySQL教程)

2、为什么要使用视图

  1. 重复利用SQL语句

  2. 简化SQL查询,快速取数据

  3. 只用知道表的部分结构

  4. 保护数据,根据特定授权

  5. 更改数据格式和表示,视图可返回与底层表的表示和格式不同的数据。

注意事项
• 在视图创建后,可以用与表基本相同的方式使用(查询、过滤、排序数据、与其他视图或连结、(添加、更新))
• 视图只是用来查看存储在别处的数据的设施,本身不包含数据,返回的数据也是从其他表检索出来的。
• 因为视图本身不包含数据,索引多个表连结或嵌套可能存在性能问题,需测试

3、规则和限制

  1. 表名必须唯一(与其他视图和表)

  2. 创建视图没有限制

  3. 足够权限

  4. 视图可以嵌套,可以从其他视图查询来构造一个视图

  5. 如果视图和从视图中查询都有order by,视图中的order by将被覆盖

  6. 视图不能索引

  7. 视图可以和表一起使用

4、使用视图

  1. 创建视图 create view

  2. 查看创建视图的语句。Show create view viewname

  3. 删除视图 drop view viewname

  4. 更新视图,1⃣️ 先drop后create 2⃣️ 直接用create or replace view

  5. 利用视图简化复杂的联结查询

5、利用视图简化复杂的联结查询

创建视图

CREATE VIEW productcustomers AS
SELECT cust_name, cust_contact, prod_id
FROM customers, orders, orderitems
WHERE customers.cust_id = orders.cust_id
AND   orderitems.order_num = orders.order_num

使用视图

SELECT cust_name, cust_contact
FROM productcustomers
WHERE prod_id = 'TNT2';

6、用视图重新格式化检索出的数据

select concat (rtrim(vend_name) , '(',rtrim(vend_country),')') as vend_title   from vendors order by vend_name;

如果经常用到这个格式的话,可以创建一个视图

CREATE VIEW vendorlocations AS
SELECT
    concat ( rtrim( vend_name ), '(', rtrim( vend_country ), ')' ) AS vend_title 
FROM
    vendors 
ORDER BY
    vend_name;

可以直接通过视图查询得出结果

SELECT * FROM vendorlocations;

7、用视图过滤不想要的数据

create view custmeremaillist AS
SELECT cust_id ,cust_name,cust_email
from customers
where cust_email is not NULL;

直接使用视图

SELECT * from custmeremaillist ;

8、使用视图与计算字段

mysql查询

SELECT
    prod_id,
    quantity,
    item_price,
    quantity * item_price AS expanded_price 
FROM
    orderitems
WHERE order_num=20005;

创建视图

CREATE VIEW orderitemsexpanded AS
SELECT
    order_num,
    prod_id,
    quantity,
    item_price,
    quantity * item_price AS expanded_price 
FROM
    orderitems
WHERE order_num=20005;

使用视图

SELECT
    *
FROM
    orderitemsexpanded
WHERE order_num=20005;

9、更新视图

通常,视图是可以更新的(insert、update、delete)。更新视图将更新基表。如果视图中有以下定义将不能被更新。

1. 分组(group by 和 having)
2. 联结
3. 自查询
4. 并
5. 聚合函数(min()、count()、sum()等)
6. Distinct
7. 导出(计算)列

所以视图最好直接使用select查询。

感谢各位的阅读!看完上述内容,你们对MYSQL中视图如何使用大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MYSQL中视图如何使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL中如何创建和使用视图

要在MySQL中创建视图,可以使用CREATE VIEW语句。例如,要创建一个名为customer_view的视图,可以按照以下步骤操作:CREATE VIEW customer_view ASSELECT customer_id, n
MySQL中如何创建和使用视图
2024-04-09

MySQL如何创建和使用视图

MySQL中可以通过CREATE VIEW语句来创建视图,视图是一个虚拟的表,它是根据SELECT语句的结果集生成的。创建视图的语法如下:CREATE VIEW view_name ASSELECT column1, column2,
MySQL如何创建和使用视图
2024-03-06

MySQL视图中如何使用IF和CASE语句

视图中可使用IF和CASE语句根据条件动态修改数据,增强视图的灵活性和可用性。IF语句用于根据条件对不同值进行求值,语法为:IF(条件,值1,值2)。CASE语句用于基于多个条件进行求值,语法为:CASEWHEN条件1THEN值1WHEN条件2THEN值2...ELSE默认值END。在视图中使用IF和CASE语句的优点包括:动态性、简化查询和数据一致性。示例:创建视图vw_user_info,其中使用IF和CASE语句基于用户年龄和性别动态计算年龄组和性别标签列。
MySQL视图中如何使用IF和CASE语句
2024-04-02

MySQL的视图在Python中如何定义和使用?(Python环境下如何定义和使用MySQL的视图?)

Python中定义MySQL视图可以使用CREATEVIEW语句或SQLAlchemy。CREATEVIEW语句从现有表中创建虚拟视图,而SQLAlchemy使用MetaData和create_view()方法。从视图中检索数据可以使用SELECT语句或SQLAlchemy的Table对象和select()方法。视图简化查询、抽象数据、提高维护性和安全性。但需要注意,视图不是物理表,不能直接更新,其性能受底层表结构和查询复杂度影响。
MySQL的视图在Python中如何定义和使用?(Python环境下如何定义和使用MySQL的视图?)
2024-04-02

如何使用多个表中的数据创建 MySQL 视图?

MySQL UNION 运算符可以组合两个或多个结果集,因此我们可以使用 UNION 运算符创建一个包含多个表数据的视图。为了理解这个概念,我们使用具有以下数据的基表“Student_info”和“Student_detail” -mysq
2023-10-22

我们如何使用 LEFT JOIN 创建 MySQL 视图?

为了说明使用 LEFT JOIN 的 MySQL 视图的制作,我们使用“Customers”和“Resreve”表中的以下数据 -mysql> Select * from customers;+-------------+--------
2023-10-22

我们如何使用 INNER JOIN 创建 MySQL 视图?

为了说明如何使用 INNER JOIN 制作 MySQL 视图,我们使用“Customers”和“Resreve”表中的以下数据 -mysql> Select * from customers;+-------------+-------
2023-10-22

我们如何使用 RIGHT JOIN 创建 MySQL 视图?

为了说明如何使用 RIGHT JOIN 创建 MySQL 视图,我们使用“Customers”和“Resreve”表中的以下数据 -mysql> Select * from Customers;+-------------+-------
2023-10-22

MySQL中如何创建一个视图

在 MySQL 中创建一个视图可以通过使用 CREATE VIEW 语句来完成。视图是基于一个或多个表的查询结果,它类似于虚拟表,可以像表一样查询和使用。 下面是创建一个视图的基本语法: CREATE VIEW view_name ASSE
2023-08-17

MySQL如何创建视图

基本语法 可以使用 CREATE VIEW 语句来创建视图。 语法格式如下:CREATE VIEW <视图名> AS 语法说明如下。<视图名>:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。
2022-05-13

编程热搜

目录