mysql跨实际视图_MySQL 跨库关联查询 (创建视图)

本文介绍了在MySQL中如何进行跨库关联查询并创建视图。在微服务架构下,由于数据库拆分导致的跨模块查询需求,通过创建视图可以实现不同数据库表之间的联合操作。文中详细讲解了跨库创建视图的语法,并给出具体示例,最后展示了执行成功的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL 跨库关联查询 (创建视图)

一, 前言

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))))

五, 执行结果:

ab7653affab982b574eb7acc55df2e04.gif

image.PNG

跨库创建视图成功:

ab7653affab982b574eb7acc55df2e04.gif

image.PNG

注: 欢迎留言, 沟通学习, 共同进步.

来源: http://www.jianshu.com/p/6ae84c22b3f2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值