golang使用sqlite

前端之家收集整理的这篇文章主要介绍了golang使用sqlite前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

安装问题

在import sqlite的时候,golang build 出现以下错误

exec: "gcc": executable file not found in %PATH%

原因是sqlitle3是个cgo库,需要gcd编译c代码
然后下载安装tdm-gcc即可(windosw版本)下载地址:http://tdm-gcc.tdragon.net/download

在golang中使用sqlite3

````js
package main

import (
"database/sql"
"fmt"
_ "github.com/mattn/go-sqlite3"
)

func main() {
db,err := sql.Open("sqlite3","./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)
}
}
```

更多请访问:红象UED

猜你在找的Go相关文章