CRUD的一个简单的DMEO
package ch1 import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" "strconv" "testing" ) func sqlInsert(db *sql.DB) int64{ stmt,err := db.Prepare("insert into test1 (age,name) VALUES (?,?)") res,err:= stmt.Exec(12,"hao123") if err!=nil{ panic(err) } id,err:=res.LastInsertId() return id } func sqlDelete(db *sql.DB,id int) int64 { stmt,err := db.Prepare("delete from test1 where id=?") res,err:= stmt.Exec(id) if err!=nil{ panic(err) } rows,err:=res.RowsAffected() return rows } func sqlUpdate(db *sql.DB,name string,age int,id int) int64 { stmt,err := db.Prepare("update test1 set name=?,age=? where id=? ") res,err:= stmt.Exec(name,age,id) if err!=nil{ panic(err) } rows,err:=res.RowsAffected() return rows } //查询一条 func sqlSelectOne(db *sql.DB,id int) { rows, err := db.Query("select * from test1 where id="+strconv.Itoa(id)+" limit 1") if err != nil { fmt.Printf("query faied, error:[%v]", err.Error()) return } for rows.Next() { //定义变量接收查询数据 var id,age int var name string err := rows.Scan(&id,&age,&name) if err != nil { panic(err) } fmt.Println(id,age,name) } //关闭结果集(释放连接) rows.Close() } //查询多条 func sqlSelectRows(db *sql.DB) { rows, err := db.Query("select * from test1") if err != nil { fmt.Printf("query faied, error:[%v]", err.Error()) return } for rows.Next() { //定义变量接收查询数据 var id,age int var name string err := rows.Scan(&id,&age,&name) if err != nil { panic(err) } fmt.Println(id,age,name) } //关闭结果集(释放连接) rows.Close() } func TestSql(t *testing.T) { //t.Log("Hello World!") db,err:=sql.Open("mysql","root:123456@tcp(127.0.0.1:3306)/thinkphp2?charset=utf8") if err!=nil{ panic(err) } //数据增加 /* id:=sqlInsert(db) t.Log("insert id=",id) */ //数据删除 /* rows:=sqlDelete(db,11) t.Log("delete rows=",rows) */ //数据修改 /* rows:=sqlUpdate(db,"gyarmy",7,10) t.Log("update rows=",rows) */ //数据查询 //sqlSelectOne(db,10) sqlSelectRows(db) db.Close() }
0则评论给“go测试mysql”