当前,我正在使用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文件的指导。
谢谢!
我当前的导入设置为:
import (
"database/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文件中