gpt4 book ai didi

mysql - 将 Sql 数据导出到 .csv 并根据查询为每个表生成单独的 .csv 文件

转载 作者:IT王子 更新时间:2023-10-29 02:09:36 24 4
gpt4 key购买 nike

目前,我正在使用 Go 访问我的数据库。理想情况下,我想根据表的名称生成 .csv,并根据查询将数据导出到这些文件。

例如,如果我运行:

select t1.*,t2.* from table1 t1 
inner join table2 t2 on t2.table_1_id = t1.id
where t1.linking_id = 22

我想要为表 1 和表 2 生成一个 .csv 文件,其中每个表的数据都会生成,然后导出到这两个生成的文件中,这些文件的名称与表的名称相同。

我知道在 PHP 中我可以使用 $fp = fopen(getcwd().'/table1.csv', 'w');
fputcsv($fp, $columns);
使用表的行名称生成 .csv 文件。但是,我认为 go 不需要连续复制 foreah 列来生成单独的 .csv 文件。

我想要一些关于将 sql 数据导出和生成到 .csv 文件的指导。

谢谢!

我当前的导入设置是:

导入 (
“数据库/SQL”
_ "github.com/go-sql-driver/mysql"
“github.com/joho/sqltocsv”
)

我能够毫无问题地连接到我的数据库,并在通过 rows, _:= db.Query(SELECT * FROM table1 WHERE id = 22) 初始化查询时查询我的数据库

我可以使用 err = sqltocsv.WriteFile("results.csv", rows)将查询数据写入预先存在的 .csv 文件中

最佳答案

  1. 使用循环迭代以获取每一行

  2. 使用包 encoding/csv写入 CSV 文件。

关于mysql - 将 Sql 数据导出到 .csv 并根据查询为每个表生成单独的 .csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51227879/

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