我有一个SQL脚本,它从Clickhouse表中返回大约23k行的数据。我想将确切的数据插入到MySQL中的表中。由于它们是两个不同的DB,并且没有代理可以使用(所以没有INSERT INTO SELECT
),似乎我唯一的选择就是用我拥有的确切数据创建一个插入脚本,这样我就可以复制它并在另一个DB上运行。
换句话说,假设我有一个剧本
SELECT date, name, sumIf(events>0) ev
FROM t1
GROUP BY date, name
字符串
它返回数据
2023-10-31 'George' 1261169
2023-11-01 'Alan' 1261370
2023-11-02 'Peter' 1261361
型
我如何修改我的脚本,使它返回类似于
INSERT INTO t2 VALUES (2023-10-31, 'George', 1261169), (2023-11-01, 'Alan', 1261370), (2023-11-02, 'Peter', 1261361);
型
?
2条答案
按热度按时间a6b3iqyw1#
下面是生成所需插入语句的代码
字符串
输出量:
型
你可以使用clickhouse playground来测试:https://play.clickhouse.com/play?user=play#c2VsZWN0IDE=
不幸的是,由于某些原因,playground中没有arrayFold函数,该函数可以简化代码,但我使用字符串操作进行了特别的解决方案
uttx8gqw2#
有一个更优雅的方法。
字符串
输出将是这样的:
型
奖金
您可以在ClickHouse和MySQL示例之间创建链接,并使用MySQL表引擎直接将数据插入MySQL:
型