MySQL中的视图是什么?

Imr*_*ran 12 mysql sql views

MySQL中的视图是什么?什么是观点,以及它们在现实世界中的使用频率.

我是一个外行解释,请举例说明如果可能,以帮助我理解!

先感谢您 ;-)

Max*_*xem 11

普通视图只不过是可查询的查询.

例:

您有两个表,订单和客户,订单有字段id,customer_id,performance_date和客户有id,first_name,last_name.

现在假设您要一起显示订单ID,性能日期和客户名称,而不是发出此查询:

SELECT    o.id as order_id, c.first_name + ' ' + c.last_name as customer_name,
          o.performance_date 
FROM      orders o inner join customers c
Run Code Online (Sandbox Code Playgroud)

您可以将该查询创建为视图并将其命名为orders_with_customers,在您的应用程序中,您现在可以发出查询

SELECT   *
FROM     orders_with_customer
Run Code Online (Sandbox Code Playgroud)

一个好处是抽象,您可以改变存储客户名称的方式,例如包含中间名,只需更改视图查询.使用该视图的所有应用程序都会继续这样做,但现在包含中间名.