1、直接上代碼:
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
fmt.Println("Test MySQL")
//
sqlstr := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4", "root", "", "127.0.0.1:3306", "mydata")
db, err := sql.Open("mysql", sqlstr)
if err!=nil {
fmt.Println("", err)
return
}
defer db.Close()
//查詢
Query(db)
//執行
Exec(db)
//查詢
Query(db)
}
//Query
func Query(db *sql.DB) {
if db == nil {
return
}
//
rows, err := db.Query("select * from student")
for rows.Next() {
var Uid,Name,Age,ClassId string
err = rows.Scan(&Uid,&Name,&Age,&ClassId)
if err != nil {
panic(err.Error())
}
fmt.Println("Uid", "Name", "Age", "ClassId");
fmt.Println(Uid, Name, Age, ClassId);
}
}
//Exec
func Exec(db *sql.DB) {
if db == nil {
return
}
//
rs,err := db.Exec("update student set Age=9527 where Name='houwenbin'")
if err != nil {
panic(err.Error())
}
fmt.Println(rs.RowsAffected())
}
2、運行結果:
Test MySQL
Uid Name Age ClassId
123456 houwenbin 9527 1
0 <nil>
Uid Name Age ClassId
123456 houwenbin 9527 1
Process finished with exit code 0