package main
import("database/sql""fmt"_"github.com/go-sql-driver/mysql")var db *sql.DB
funcinit(){var err error//format: username:password@protocal(host:port)/database
db, err = sql.Open("mysql","root:123456@tcp(127.0.0.1:3306)/atguigudb")if err !=nil{//check if the format is right, it won't check username and passwordpanic(fmt.Sprintln("sql.Open err:", err))}if err := db.Ping(); err !=nil{//check if username and password rightpanic(fmt.Sprintln("db.Ping err:", err))}
fmt.Println("connected")}funcmain(){
db.Close()}
select
QueryRow
// single result, Scan will close connectionvar m string
sql :="select first_name from employees"
db.QueryRow(sql).Scan(&m)
Query
// multiple results, need rows.Close()var m string
sql :="select first_name from employees"
rows, err := db.Query(sql)if err !=nil{panic(err)}for rows.Next(){if err := rows.Scan(&m); err !=nil{
fmt.Println(err)}
fmt.Println(m)}
rows.Close()