先装置好sqlite3,Golang环境

MacBook Linux Windows等零碎装置sqlite3

MacBook Linux 树莓派raspberrypi装置Golang环境

sqlite3基本操作

sqlite3  /Users/liang/Downloads/foo.db.databases.quit.exit.tablesCREATE 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 mainimport (    "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)    }}