美文网首页javaJava程序员
mysql跨库关联查询(创建视图)

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

作者: 挑战者666888 | 来源:发表于2018-12-28 08:54 被阅读9次

    一、 前言

    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

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

    相关文章

      网友评论

        本文标题:mysql跨库关联查询(创建视图)

        本文链接:https://www.haomeiwen.com/subject/hhgjlqtx.html