gpt4 book ai didi

sql - 使用输入文件从在线数据库中检索数据

转载 作者:行者123 更新时间:2023-11-29 14:22:18 25 4
gpt4 key购买 nike

我在 MacOSX 上使用 Postgres 9.3。

如果有人能在这里指出我正确的方向,我将非常高兴。我想编写一个连接到现有(在线)数据库(例如 this one )并使用具有适当字符串(在本例中为 MRGID)的输入文件检索数据(在本例中为 shapefile)的函数。对不起,我没有任何代码,我真的不知道从哪里开始,而且我似乎没有找到任何线程。也许 SQL 不是去这里的方式?

输入文件示例;

species,mrgids
Sp1,4279
Sp1,8366
Sp1,21899
Sp1,21834
Sp1,7130
Sp1,1905
Sp1,21900
Sp1,5679
Sp1,5696

谢谢!

最佳答案

几乎可以肯定,这在数据库之外做得最好,使用您选择的语言的脚本。我会使用 Python 和 psycopg2,但像 Ruby + the Pg gem、Perl 和 DBI/DBD::Pg,甚至 PHP 和 PDO,都是同样合理的选择。

您的代码可以进行 HTTP 提取,然后(如果它是 CSV 类的)使用 COPY 命令将数据加载到 PostgreSQL 中。如果它是一个 shapefile,您可以将数据提供给 PostGISshp2pgsql 加载器,或使用 GeomFromText PostGIS 函数制作单独的 INSERT

您可以从 PL/Pythonu 或 PL/Perlu 存储过程执行 HTTP 提取,但与仅从脚本执行此操作相比并没有真正的好处,而且作为外部脚本它会更健壮。

所以,实际上,您需要拆分这个问题。

您需要代码来与感兴趣的网站对话,可能包括 HTTP POST 之类的东西来提交表单。或者,最好使用 web API适用于专为自动脚本交互而设计的站点。大多数简单的 RESTful API 都可以通过使用 Perl 的 LWP、Python 的 httplib 等库的脚本语言轻松使用。对于您链接到的站点,如 user623952提到,有一个RESTful API .

然后您将需要代码来获取感兴趣的数据,以及读取获取的数据并将其加载到 PostgreSQL 中的代码。您可能希望下载所有数据然后加载它,或者您可能希望在下载时将其流式传输到数据库中(通过管道传输到 shp2pgsql,等等)。

关于sql - 使用输入文件从在线数据库中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20370169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com