文章目錄
- 安裝驅動
- 連接數據庫
- 查詢表
- 結果
- 插入
- 結果
- 刪除
- 結果
安裝驅動
go get github.com/go-sql-driver/mysql
import ("database/sql""fmt"_ "github.com/go-sql-driver/mysql"
)
連接數據庫
//用戶名:密碼^@tcp(地址:3306)/數據庫db, err := sql.Open("mysql", "root:123456%^@tcp(39.107.87.114:3306)/book_manager?charset=utf8")if err!=nil {fmt.Println(err)return}
查詢表
//表結構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 infoerr=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 infoerr=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]$ !ggo 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 infoerr=rows.Scan(&s.id,&s.name,&s.author,)fmt.Println(s)}
結果
[kou@python golang]$ !g
go run go_mysql.go
{4 三國演義 羅貫中}