Created
January 25, 2019 10:55
-
-
Save hackertron/0fbe70932f60d286b5771995fff12a31 to your computer and use it in GitHub Desktop.
go sqlite
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"database/sql" | |
"fmt" | |
"time" | |
_ "github.com/mattn/go-sqlite3" | |
) | |
func main() { | |
db, err := sql.Open("sqlite3", "./foo.db") | |
checkErr(err) | |
// insert | |
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) | |
// update | |
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) | |
// query | |
rows, err := db.Query("SELECT * FROM userinfo") | |
checkErr(err) | |
var uid int | |
var username string | |
var department string | |
var created time.Time | |
for rows.Next() { | |
err = rows.Scan(&uid, &username, &department, &created) | |
checkErr(err) | |
fmt.Println(uid) | |
fmt.Println(username) | |
fmt.Println(department) | |
fmt.Println(created) | |
} | |
rows.Close() //good habit to close | |
// delete | |
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) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment