mysql跨库关联查询(创建视图)
2018-12-28 本文已影响9人
挑战者666888
一、 前言
SQL CREATE VIEW 语句
什么是视图?
在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。
视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。
二、使用场景:
我们使用的场景是:我们使用的是微服务架构,考虑的是模块划分,分为了业务配置服务,基础服务,业务服务等模块,数据库也进行了拆分,不同的模块使用不同的数据库。由于微服务的划分,导致,一些查询,需要跨模块表与表之间的关联查询,设计到跨库。
三、跨库创建视图语法:
创建视图:
create view 视图名称 as ( SELECT 库名.表名.列名 AS 列的重命名..... FROM 库名.表名)
删除视图:
drop view 视图名称
注意:数据库必须在同一个服务器上。两个库用户名和密码需要相同。
四、跨库创建视图语句:
CREATE ALGORITHM=UNDEFINED DEFINER=root
@localhost
SQL SECURITY DEFINER VIEW ray_gt_business_project_document_view
AS (select d
.id
AS id
,d
.form_id
AS form_id
,d
.invest_id
AS invest_id
,d
.invest_name
AS invest_name
,d
.project_stage_id
AS project_stage_id
,d
.project_stage_name
AS project_stage_name
,d
.is_use
AS is_use
,d
.remark
AS remark
,d
.is_deleted
AS is_deleted
,b
.file_name
AS file_name
,b
.file_type
AS file_type
,b
.is_require
AS is_require
from (rayootech_business
.ray_business_project_document
d
join rayootech_business
.ray_business_project_document_branch
b
on((d
.id
= b
.project_document_id
))))
五、执行结果:
image.png跨库创建视图成功:
image.png注:欢迎留言,沟通学习,共同进步。