实例说明用golang操作sqllite3
以下是一个简单的示例代码,展示如何使用Golang操作SQLite3数据库:
package main
import (
"database/sql"
"fmt"
_ "github.com/mattn/go-sqlite3"
)
func main() {
// 建立连接
db, err := sql.Open("sqlite3", "./test.db")
if err != nil {
fmt.Println(err)
return
}
defer db.Close()
// 创建表
createTable(db)
// 插入数据
insertData(db)
// 查询数据
queryData(db)
}
func createTable(db *sql.DB) {
sqlStmt := `
CREATE TABLE IF NOT EXISTS user (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER
);
`
_, err := db.Exec(sqlStmt)
if err != nil {
fmt.Println(err)
return
}
}
func insertData(db *sql.DB) {
stmt, err := db.Prepare("INSERT INTO user(name, age) values(?, ?)")
if err != nil {
fmt.Println(err)
return
}
defer stmt.Close()
_, err = stmt.Exec("Tom", 20)
if err != nil {
fmt.Println(err)
return
}
}
func queryData(db *sql.DB) {
rows, err := db.Query("SELECT * FROM user")
if err != nil {
fmt.Println(err)
return
}
defer rows.Close()
for rows.Next() {
var id int
var name string
var age int
err = rows.Scan(&id, &name, &age)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(id, name, age)
}
}
以上代码首先建立了一个名为“test.db”的数据库连接,然后创建一个名为“user”的表。接着,向表中插入了一条数据,然后查询表中的所有数据,并打印输出到控制台。
原文地址: https://www.cveoy.top/t/topic/qss 著作权归作者所有。请勿转载和采集!