以下是一个简单的示例代码,展示如何使用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”的表。接着,向表中插入了一条数据,然后查询表中的所有数据,并打印输出到控制台。

实例说明用golang操作sqllite3

原文地址: https://www.cveoy.top/t/topic/qss 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录