golang 如何使用sqlite
时间: 2023-11-12 17:09:16 浏览: 159
Golang + Sqlite 实现的一款采集系统,可编写采集规则,抓取绝大多少网站数据。.zip
使用 Golang 操作 SQLite 需要用到第三方库,可以使用 Go 官方推荐的 "database/sql" 包,再结合第三方库 "mattn/go-sqlite3" 进行操作。
以下是一个简单的示例代码,演示如何连接 SQLite 数据库,创建表,插入数据和查询数据:
```go
package main
import (
"database/sql"
"fmt"
_ "github.com/mattn/go-sqlite3"
)
func main() {
db, err := sql.Open("sqlite3", "./test.db")
if err != nil {
panic(err)
}
defer db.Close()
// 创建表
_, err = db.Exec("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)")
if err != nil {
panic(err)
}
// 插入数据
stmt, err := db.Prepare("INSERT INTO users(name, age) values(?,?)")
if err != nil {
panic(err)
}
defer stmt.Close()
_, err = stmt.Exec("Tom", 18)
if err != nil {
panic(err)
}
// 查询数据
rows, err := db.Query("SELECT * FROM users")
if err != nil {
panic(err)
}
defer rows.Close()
for rows.Next() {
var id int
var name string
var age int
err = rows.Scan(&id, &name, &age)
if err != nil {
panic(err)
}
fmt.Println(id, name, age)
}
}
```
在代码中,首先使用 `sql.Open` 函数连接 SQLite 数据库,然后使用 `db.Exec` 函数创建表,使用 `db.Prepare` 函数插入数据,使用 `db.Query` 函数查询数据。最后遍历查询结果,并使用 `rows.Scan` 函数将数据读取到变量中。
需要注意的是,在使用完数据库之后,需要使用 `db.Close` 函数关闭数据库连接。另外,SQLite 数据库文件可以指定路径,如本例中的 "./test.db"。
阅读全文