美文网首页
golang操作sqlite3

golang操作sqlite3

作者: beyond阿亮 | 来源:发表于2021-07-27 22:38 被阅读0次

    先安装好sqlite3,Golang环境

    MacBook Linux Windows等系统安装sqlite3

    MacBook Linux 树莓派raspberrypi安装Golang环境

    sqlite3基本操作

    
    sqlite3  /Users/liang/Downloads/foo.db
    .databases
    .quit
    .exit
    .tables
    
    CREATE TABLE `userinfo` (
    `uid` INTEGER PRIMARY KEY AUTOINCREMENT,
    `username` VARCHAR(64) NULL,
    `departname` VARCHAR(64) NULL,
    `created` DATE NULL
    );
    
    CREATE TABLE `userdeatail` (
    `uid` INT(10) NULL,
    `intro` TEXT NULL,
    `profile` TEXT NULL,
    PRIMARY KEY (`uid`)
    );
    
    .schema userinfo
    
    
    

    golang操作sqlite3

    
    package main
    
    import (
        "database/sql"
        "fmt"
        _ "github.com/mattn/go-sqlite3"
    )
    
    func main() {
        db, err := sql.Open("sqlite3", "/Users/liang/Downloads/foo.db")
        checkErr(err)
    
        //插入数据
        stmt, err := db.Prepare("INSERT INTO userinfo(username, departname, created) values(?,?,?)")
        checkErr(err)
    
        res, err := stmt.Exec("astaxie", "部门", "2012-12-09")
        checkErr(err)
    
        id, err := res.LastInsertId()
        checkErr(err)
    
        fmt.Println(id)
        //更新数据
        stmt, err = db.Prepare("update userinfo set username=? where uid=?")
        checkErr(err)
    
        res, err = stmt.Exec("astaxieupdate", id)
        checkErr(err)
    
        affect, err := res.RowsAffected()
        checkErr(err)
    
        fmt.Println(affect)
    
        //查询数据
        rows, err := db.Query("SELECT * FROM userinfo")
        checkErr(err)
    
        for rows.Next() {
            var uid int
            var username string
            var department string
            var created string
            err = rows.Scan(&uid, &username, &department, &created)
            checkErr(err)
            fmt.Println(uid)
            fmt.Println(username)
            fmt.Println(department)
            fmt.Println(created)
        }
    
        //删除数据
        stmt, err = db.Prepare("delete from userinfo where uid=?")
        checkErr(err)
    
        res, err = stmt.Exec(id)
        checkErr(err)
    
        affect, err = res.RowsAffected()
        checkErr(err)
    
        fmt.Println(affect)
    
        db.Close()
    
    }
    
    func checkErr(err error) {
        if err != nil {
            panic(err)
        }
    }
    
    
    

    相关文章

      网友评论

          本文标题:golang操作sqlite3

          本文链接:https://www.haomeiwen.com/subject/pnramltx.html