数据库操作,如何在多个不同的库里筛选数据

87 天前
 zjstar
最近经常有这个操作,比如在 mysql 的 a 库的表里查出几十个用户名,然后去 oracle 的 b 库的一个表里去搜这些用户名数据,这种跨库的,不知道大家怎么操作的,被逼的没办法了,写了个小工具,把查出的数据,拼接起来,然后去 b 库里去查。
比如我查出数据,复制出来是:
111
222
333
然后我想去 b 库的表里查,那我 sql 应该是 select * from b where name in ('111','222','333')

就是把
111
222
333
转化成 '111','222','333'

写了个工具就是做了这个转换,大家有同样需求的可以拿来用,或者大家有没有别的办法来解决这个问题
https://www.joinlines.org/
2202 次点击
所在节点    数据库
22 条回复
MoYi123
87 天前
用 duckdb 就可以 https://duckdb.org/docs/stable/data/data_sources
配置一下 datasource
zjstar
87 天前
@MoYi123 感谢,我去研究下
starlion
87 天前
你这是啥子业务系统,用了不同的数据库系统
数据量是多少啊,
sujin190
87 天前
https://github.com/snower/syncany-sql

那分享下吧,支持用 mysql 语法联表查询,跨库跨机器跨不同类型数据库都可以,比如 mysql 和 mongo ,以及 mysql 和普通 json 、ecxel 等文件 join 查询,还能导入 python 自定义函数用于计算,自行编写聚合函数等等

https://github.com/snower/syncany-server

还有个 server 封装了 mysql server 的接口,可以用支持 mysql driver 的程序调用
CEBBCAT
87 天前
$ echo -e 'apple\nbanana\ncherry' | awk '{printf("\"%s\"\n", $0)}' | tr \n ,

🤔

SELECT GROUP_CONCAT(name) FROM table

🤔
---
可以把数据都收集在一起,用中间件做连接也行。有的时候不是办法想不到,只是做事有障碍,加油
xjzshttps
87 天前
不做参数化查询,那么爱要小心 sql 注入
VeryZero
87 天前
冷知识,datagrip 选择数据后直接复制粘贴就可以有这样的效果,甚至可以自定义脚本
kzfile
87 天前
我的主数据库是 pg ,支持外源表( fdw ),可以直连 mysql ,用 sql 直接操作
spritecn
87 天前
很久之前,我也写过一个...基本和你这个一毛一样
spritecn
87 天前
@spritecn 我主要用是来拼 inset 的,偶尔拼一些查询
ldyisbest
87 天前



直接这样就能替换了
zjstar
87 天前
@starlion 在客户那边对接不同的厂家,不同厂家用不同的数据库,我们的系统的数据来源,依赖于他们不同的厂家 o(╥﹏╥)o
zjstar
87 天前
@sujin190 感谢,就是我需要的哈哈
zjstar
87 天前
@spritecn 查询我也有需求,不过懒得写工具了,很多直接让 ai 给我拼了
zjstar
87 天前
@ldyisbest 这个图是啥工具啊
ldyisbest
86 天前
@zjstar #15 高级一点的文本编辑器都行,比如 vscode ,我这个用的是 sublime
spritecn
86 天前
@ldyisbest 快捷键学习成本高..不直观
ldyisbest
86 天前
@spritecn #17 哪里有什么快捷键,这是个全局替换的输入,写过代码多少都用过几次,你要说正则学习成本高那还说得过去,但这玩意用两次不就记住了,懒的话那没办法
sivacohan
86 天前
你这个是典型的外表需求,oracle 我听说有这方面的支持。

如果 oracle 没有或者没开放外表,那你不妨在本地启动一个 postgresql ,然后用 fdw 把外部数据都挂进 pg ,统一在 pg 里面进行查询。
nooneanyone
86 天前
搞个能支持多协议 source 的数据库,把你的所有库都作为 source 连进来。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1138017

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX