探索SQLite之秘:go-sqlite/sqlite3 —— 一个纯Go编写的SQLite文件解析工具
package main
import (
"fmt"
"github.com/go-sqlite/sqlite3"
"log"
)
func main() {
// 打开或创建数据库
db, err := sqlite3.Open("./example.db")
if err != nil {
log.Fatal(err)
}
defer db.Close()
// 创建表
_, err = db.Exec("CREATE TABLE IF NOT EXISTS userinfo (username TEXT, departname TEXT, created DATE)")
if err != nil {
log.Fatal(err)
}
// 插入数据
stmt, err := db.Prepare("INSERT INTO userinfo(username, departname, created) values(?,?,?)")
if err != nil {
log.Fatal(err)
}
defer stmt.Close()
_, err = stmt.Exec("John", "IT", "2020-06-03")
if err != nil {
log.Fatal(err)
}
// 查询数据
rows, err := db.Query("SELECT * FROM userinfo")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
var username string
var departname string
var created string
err = rows.Scan(&username, &departname, &created)
if err != nil {
log.Fatal(err)
}
fmt.Println(username, departname, created)
}
}
这段代码展示了如何使用go-sqlite3包来进行基本的SQLite数据库操作,包括打开或创建数据库,创建表,插入数据,以及查询数据。代码简洁,注重于展示核心功能,并包含了错误处理。
评论已关闭