package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
//需要配置mysql 用户名、密码及数据库名
db, err := sql.Open("mysql","root:123456@(127.0.0.1:3306)/test")
if err != nil{
fmt.Println("sql open failed")
}
err = db.Ping()
if err != nil{
fmt.Println("数据库连接失败")
return
}
sql:="create table if not exists stuInfo(id int primary key,name varchar(10))" //创建数据库表
result,erro := db.Exec(sql)
if erro != nil{
fmt.Println("create table failed")
return
}
fmt.Printf("%v",result)
/*
sql = "insert into stuInfo values (2,'tony')" //单行插入
result,err = db.Exec(sql)
if err != nil{
fmt.Println("insert value to table failed")
}
fmt.Printf("%T",result)
//预处理
stu:=[2][2]string{{"3","11"},{"4","yy"}} //多行插入
stuInsert,_:=db.Prepare("insert into stuInfo values (?,?)")
for _,stuIn := range stu{
fmt.Printf("%v %v",stuIn[0],stuIn[1])
stuInsert.Exec(stuIn[0],stuIn[1])
}
*/
var id, name string
//sql:="select * from stuInfo"
//row := db.QueryRow(sql) //获取一行
//row.Scan(&id, &name)
//fmt.Println(id, name)
sql="select * from stuInfo" //获取多行
rows,err:=db.Query(sql)
if err != nil{
fmt.Println("select rows failed")
return
}
for ; rows.Next();{
rows.Scan(&id, &name)
fmt.Println(id, name)
}
}