使用 Go 将行从 STDIN 导入 PostgreSQL
在 Go 中,您可以使用 pq 将行从标准输入 (STDIN) 导入 PostgreSQL包裹。这种方法直接将数据输入数据库,不需要中间文件。
要实现从 STDIN 直接导入行,请按照以下步骤操作:
示例代码:
以下代码示例演示使用 Go 从 STDIN 导入行:
<code class="go">package main import ( "database/sql" "fmt" "io" "log" "github.com/lib/pq" ) func main() { db, err := sql.Open("postgres", "host=localhost port=5432 user=postgres password=mysecret dbname=mydatabase") if err != nil { log.Fatal(err) } defer db.Close() rows := [][]string{ {"Rob", "Pike"}, {"Ken", "Thompson"}, {"Robert", "Griesemer"}, } txn, err := db.Begin() if err != nil { log.Fatal(err) } stmt, err := txn.Prepare(pq.CopyIn("test", "first_name", "last_name")) if err != nil { log.Fatal(err) } for _, r := range rows { if _, err = stmt.Exec(r[0], r[1]); err != nil { log.Fatal(err) } } if _, err = stmt.Exec(); err != nil { log.Fatal(err) } if err = stmt.Close(); err != nil { log.Fatal(err) } if err = txn.Commit(); err != nil { log.Fatal(err) } fmt.Println("Rows imported successfully.") }</code>
通过遵循这些步骤并利用 pq 包,您可以在 Go 程序中直接从 STDIN 高效地将数据导入到 PostgreSQL。
以上是如何使用 Go 将行从 STDIN 导入 PostgreSQL?的详细内容。更多信息请关注PHP中文网其他相关文章!