go 调用sqlite
来源:互联网 发布:电信网络诈骗手段 编辑:程序博客网 时间:2024/06/06 23:54
简单的建表、插入、查询
package mainimport ( "database/sql" "fmt" "log" "os" _ "github.com/mattn/go-sqlite3")type User struct { userid int username string}func main() { os.Remove("./foo.db") db, err := sql.Open("sqlite3", "./foo.db") if err != nil { log.Fatal(err) } defer db.Close() //建表 sqlStmt := `create table foo (id integer not null primary key, name text);` _, err = db.Exec(sqlStmt) if err != nil { log.Printf("%q: %s\n", err, sqlStmt) return } tx, err := db.Begin() if err != nil { log.Fatal(err) } //插入 stmt, err := tx.Prepare("insert into foo(id, name) values(?, ?)") if err != nil { log.Fatal(err) } defer stmt.Close() for i := 0; i < 10; i++ { _, err = stmt.Exec(i, fmt.Sprintf("helloworld%02d", i)) if err != nil { log.Fatal(err) } } tx.Commit() rows, err := db.Query("select id, name from foo") if err != nil { log.Fatal(err) } defer rows.Close() for rows.Next() { var id int var name string rows.Scan(&id, &name) fmt.Println(id, name) } rows.Close() stmt, err = db.Prepare("select name from foo where id = ?") if err != nil { log.Fatal(err) } defer stmt.Close() var name string err = stmt.QueryRow("7").Scan(&name) if err != nil { log.Fatal(err) } fmt.Println(name) _, err = db.Exec("delete from foo") if err != nil { log.Fatal(err) } _, err = db.Exec("insert into foo(id, name) values(1, 'aaa'), (2, 'bbb'), (3, 'ccc')") if err != nil { log.Fatal(err) } rows, err = db.Query("select id, name from foo") if err != nil { log.Fatal(err) } defer rows.Close() var user []User = make([]User, 0) for rows.Next() { var u User rows.Scan(&u.userid, &u.username) user = append(User, u) } fmt.Println(id, name)}
0 0
- go 调用sqlite
- SQLite简介,C#调用SQLite
- SQLite简介,C#调用SQLite
- python调用Go代码
- go 调用mysql
- Go调用DLL
- go动态调用方法
- Go反射调用方法
- 【Go语言】连接数据库SQLite、MySQL、Oracle
- Go语言中使用SQLite数据库
- .net 调用data.sqlite
- winform中的调用SQLite
- .net调用sqlite数据库
- java 调用 sqlite
- Groovy调用sqlite
- Windows C++调用SQLite
- c++调用sqlite接口
- Go中调用dll示例
- html基础书写布局介绍
- Java 网络编程
- hihocoder-1015 KMP算法(KMP)
- java设计模式之责任链模式
- 设计模式:享元模式
- go 调用sqlite
- Linux编程中的出错处理
- 取消系统箭头
- WCF创建学习
- 给jdk写注释系列之jdk1.6容器(12):PriorityQueue源码解析PriorityQueue是一种什么样的容器呢?看过前面的几个jdk容器分析的话,看到Queue这个单词你一定会,哦~这
- Java的多态及注意事项
- C语言小知识复习1
- 论软件研发过程 目标+方法=结果
- android adb技巧总结