登录
首页 >  Golang >  Go问答

CSV 文件导入到 MySQL 数据库的步骤

来源:stackoverflow

时间:2024-03-06 21:45:25 337浏览 收藏

小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《CSV 文件导入到 MySQL 数据库的步骤》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!

问题内容

我有 CSV x GB 并想插入到 mysql 中,我会使用 Go 来实现此目的,但我没有找到正确的方法,有人这样做过吗?

我的项目:https://github.com/DevJoseWeb/AMCOM/tree/master/amcom-systems-go


解决方案


无论使用哪种语言,都有两种基本方法。首先是自己读取并解析 csv 文件并一次插入一行。这是低效的。

另一种方法是使用 mysql 的 load data local infile 将 csv 文件加载到表中,让 mysql 完成所有工作。 local 部分意味着您将向 mysql 发送 csv 文件。

与其他 sql 语句不同,这需要特殊的客户端支持来读取和发送 csv 文件。幸运的是 go-sql-driver you're using has this support 并指出了一些注意事项。

go-mysql-driver 有示例。与 RegisterLocalFile...

filepath := "/home/gopher/data.csv"
mysql.registerlocalfile(filepath)
err := db.exec("load data local infile '" + filepath + "' into table foo")
if err != nil {
...

还有 RegisterReaderHandler

mysql.RegisterReaderHandler("data", func() io.Reader {
    var csvReader io.Reader // Some Reader that returns CSV data
    ... // Open Reader here
    return csvReader
})
err := db.Exec("LOAD DATA LOCAL INFILE 'Reader::data' INTO TABLE foo")
if err != nil {
...

本篇关于《CSV 文件导入到 MySQL 数据库的步骤》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>