package main
import (
"fmt"
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
var db *sql.DB
func initDB() (err error) {
// 用户:密码@tcp(ip:端口)/数据库名字
dsn :="jbjb:123456@tcp(192.168.8.177:3306)/jbjb"
db, err = sql.Open("mysql", dsn) //不会校验用户密码是否正确,dsn格式不正确的时候报错
if err != nil{
fmt.Printf("Open %s failed, err:%v\n", dsn, err)
return
}
err = db.Ping() // 尝试链接
if err != nil{
return
}
//最大链接数设置
db.SetMaxOpenConns(10)
//最大空闲链接数
db.SetMaxIdleConns(5)
return
}
type runoob_tbl struct{
runoob_id int
runoob_title string
runoob_author string
submission_date int
}
func queryOne(runoob_id int) {
var u1 runoob_tbl
//执行sql
sqlStr :=`SELECT runoob_id, runoob_title, runoob_author, submission_date FROM runoob_tbl where runoob_id=?;`
//从链接池里拿一个连接出来去数据库查询单条记录
db.QueryRow(sqlStr,runoob_id).Scan(&u1.runoob_id, &u1.runoob_title, &u1.runoob_author, &u1.submission_date)
//打印结果
fmt.Printf("u1:%#v\n", u1)
}
func main() {
err := initDB() // 调用输出化数据库的函数
if err != nil {
fmt.Printf("init db failed,err:%v\n", err)
}
fmt.Println("链接成功")
//需要查那一条直接输入ID号
queryOne(2)
}
Go连接操作MySQL-单表查询
最新推荐文章于 2022-07-20 09:43:28 发布