//表结构
type info struct {
id int `db:"id"`
name string `db:"name"`
author string `db:"author"`
}
//查询表
rows,err:=db.Query("SELECT * FROM book")
//遍历打印
for rows.Next(){
var s info
err=rows.Scan(&s.id,&s.name,&s.author,)
fmt.Println(s)
}
//用完关闭
rows.Close()
[kou@python golang]$ go run go_mysql.go
{4 三国演义 罗贯中}
插入
//执行MySql语句
result,err:=db.Exec("INSERT INTO book(id,name,author)VALUES (?,?,?)",2,"将进酒","李白")
if err != nil {
panic(err)
}
fmt.Println(result)
for rows.Next(){
var s info
err=rows.Scan(&s.id,&s.name,&s.author,)
fmt.Println(s)
}
rows.Close()
}
结果
[kou@python golang]$ !g
go run go_mysql.go
{4 三国演义 罗贯中}
{0xc0000a2100 0xc000016390}
[kou@python golang]$ !g
go run go_mysql.go
{2 将进酒 李白}
{4 三国演义 罗贯中}
panic: Error 1062: Duplicate entry '2' for key 'PRIMARY'
goroutine 1 [running]:
main.main()
/home/kou/golang/go_mysql.go:32 +0x4fa
exit status 2
[kou@python golang]$ !vi
vim go_mysql.go
删除
db.Exec("DELETE FROM book where id=?", 2)
rows,err:=db.Query("SELECT * FROM book")
for rows.Next(){
var s info
err=rows.Scan(&s.id,&s.name,&s.author,)
fmt.Println(s)
}
结果
[kou@python golang]$ !g
go run go_mysql.go
{4 三国演义 罗贯中}