您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

是否可以仅使用mysql命令环境对mysql数据库中的每个数据库执行查询并求和或合并结果?

是否可以仅使用mysql命令环境对mysql数据库中的每个数据库执行查询并求和或合并结果?

这样的事情可能会做。我还没有很多“带有日志的狗”来对此进行测试,但是我尝试了一个经过稍微编辑的版本,并且基本的想法似乎行得通。

在变量中建立查询字符串,然后使用准备好的语句执行它。

SELECT @query:=CONCAT(
      'select count(*) from ('
    , GROUP_CONCAT( CONCAT( y.prefix, x.table_schema, y.postfix ) SEPARATOR ' UNION ALL ' )
    , ') as total_count' )
FROM (
    SELECT  DISTINCT table_schema
    FROM    information_schema.tables
    WHERE   table_schema LIKE '%dog%'
    ) AS x
JOIN (
    SELECT
          'select * from '        AS prefix
        , '.log where insane = 1' AS postfix 
    ) AS y
;

-- SELECT @query AS Query;

PREPARE STMT FROM @query;
EXECUTE STMT;
DEALLOCATE PREPARE STMT;
MySQL 2022/1/1 18:46:43 有439人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶