1- ``` markdown
21---
32title : Golang
43---
@@ -39,14 +38,14 @@ Databend 提供了一个用 Golang 编写的驱动程序 (databend-go),它有
3938
4039Databend Go 驱动程序与 [ "database/sql"] ( https://pkg.go.dev/database/sql ) 接口规范兼容。以下是一些常见的行为,以及涉及的关键函数及其背后的原理。
4140
42- | 基本行为 | 涉及的关键函数 | 原理 |
43- | --------------------------- | -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
44- | 创建连接 | `DB.Open` | 使用 DSN 字符串和 `DB.Open` 方法建立与 Databend 的连接。<br /><br />DSN 字符串格式为 `https://user:password@host/database?<query_option>=<value>`。 |
45- | 执行语句 | `DB.Exec` | `DB.Exec` 方法使用 `v1/query` 接口执行 SQL 语句,用于创建、删除表和插入数据。 |
46- | 批量插入 | `DB.Begin`, `Tx.Prepare`, `Stmt.Exec`, `Tx.Commit` | 批量插入/替换数据(`INSERT INTO` 和 `REPLACE INTO`)通过事务处理。<br /><br />使用 `Stmt.Exec` 将尽可能多的数据添加到预处理语句对象;数据将附加到文件中。<br /><br />执行 `Tx.Commit()` 最终会将数据上传到内置的 Stage 并执行插入/替换操作,使用 [Stage Attachment](/developer/apis/http#stage-attachment)。 |
47- | 查询单行 | `DB.QueryRow`, `Row.Scan` | 使用 `DB.QueryRow` 方法查询单行数据并返回 `*sql.Row`,然后调用 `Row.Scan` 将列数据映射到变量。 |
48- | 迭代行 | `DB.Query`, `Rows.Next`, `Rows.Scan` | 使用 `DB.Query` 方法查询多行数据并返回 `*sql.Rows` 结构,使用 `Rows.Next` 方法迭代行,并使用 `Rows.Scan` 将数据映射到变量。 |
49- | 上传到内部 Stage | `APIClient.UploadToStage` | 将数据上传到 Stage。默认情况下,使用 `PRESIGN UPLOAD` 获取 URL,如果禁用 PRESIGN,则使用 `v1/upload_to_stage` API。 |
41+ | 基本行为 | 涉及的关键函数 | 原理 |
42+ | ---------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
43+ | 创建连接 | ` DB.Open ` | 使用 DSN 字符串和 ` DB.Open ` 方法建立与 Databend 的连接。<br /><br />DSN 字符串格式为 ` https://user:password@host/database?<query_option>=<value> ` 。 |
44+ | 执行语句 | ` DB.Exec ` | ` DB.Exec ` 方法使用 ` v1/query ` 接口执行 SQL 语句,用于创建、删除表和插入数据。 |
45+ | 批量插入 | ` DB.Begin ` , ` Tx.Prepare ` , ` Stmt.Exec ` , ` Tx.Commit ` | 批量插入/替换数据(` INSERT INTO ` 和 ` REPLACE INTO ` )通过事务处理。<br /><br />使用 ` Stmt.Exec ` 将尽可能多的数据添加到预处理语句对象;数据将附加到文件中。<br /><br />执行 ` Tx.Commit() ` 最终会将数据上传到内置的 Stage 并执行插入/替换操作,使用 [ Stage Attachment] ( /developer/apis/http#stage-attachment ) 。 |
46+ | 查询单行 | ` DB.QueryRow ` , ` Row.Scan ` | 使用 ` DB.QueryRow ` 方法查询单行数据并返回 ` *sql.Row ` ,然后调用 ` Row.Scan ` 将列数据映射到变量。 |
47+ | 迭代行 | ` DB.Query ` , ` Rows.Next ` , ` Rows.Scan ` | 使用 ` DB.Query ` 方法查询多行数据并返回 ` *sql.Rows ` 结构,使用 ` Rows.Next ` 方法迭代行,并使用 ` Rows.Scan ` 将数据映射到变量。 |
48+ | 上传到内部 Stage | ` APIClient.UploadToStage ` | 将数据上传到 Stage。默认情况下,使用 ` PRESIGN UPLOAD ` 获取 URL,如果禁用 PRESIGN,则使用 ` v1/upload_to_stage ` API。 |
5049
5150## 教程 1:使用 Golang 与 Databend 集成
5251
@@ -175,7 +174,7 @@ func main() {
175174
176175<StepContent number =" 2 " >
177176
178- ### 安装依赖.
177+ ### 安装依赖。
179178
180179``` shell
181180go mod init databend-golang
@@ -202,7 +201,7 @@ require (
202201
203202<StepContent number =" 3 " >
204203
205- ### 运行程序.
204+ ### 运行程序。
206205
207206``` shell
208207go run main.go
@@ -222,7 +221,7 @@ go run main.go
222221
223222## Tutorial-2: 使用 Golang 与 Databend Cloud 集成
224223
225- 在开始之前,请确保您已成功创建计算集群并获得连接信息。 有关如何执行此操作,请参见 [ 连接到计算集群] ( /guides/cloud/using-databend-cloud/warehouses#connecting ) 。
224+ 在开始之前,请确保您已成功创建计算集群并获得连接信息。有关如何执行此操作,请参见 [ 连接到计算集群] ( /guides/cloud/using-databend-cloud/warehouses#connecting ) 。
226225
227226### Step 1. 创建一个 Go Module
228227
@@ -299,7 +298,7 @@ func main() {
299298```
300299
301300::: tip
302- 将代码中的 ` {USER}, {PASSWORD}, {HOST}, {WAREHOUSE_NAME} and {DATABASE} ` 替换为您的连接信息。 有关如何
301+ 将代码中的 ` {USER}, {PASSWORD}, {HOST}, {WAREHOUSE_NAME} and {DATABASE} ` 替换为您的连接信息。有关如何
303302获取连接信息,
304303请参见 [ 连接到计算集群] ( /guides/cloud/using-databend-cloud/warehouses#connecting ) 。
305304:::
@@ -308,4 +307,4 @@ func main() {
308307
309308``` shell
310309$ go run main.go
311- ```
310+ ```
0 commit comments