package main
import (
"fmt"
_ "github.com/go-sql-driver/mysql" //引入mysql插件
"github.com/jmoiron/sqlx" //引入sqlx插件
)
type Course struct {
C_name string `db:"cname"` //做查询的时候用到,接收值用到
}
var DB1 *sqlx.DB //重命名一个sqlx里面的DB方法,目的定义一个全局变量,使底下的database可以全局调用
func init(){ //inni函数保证了提前就连接好mysql
database,err:=sqlx.Open("mysql","root:root@tcp(127.0.0.1:3306)/week01?charset=utf8")
if err!=nil{
fmt.Println("mysql连接失败",err)
return
}
fmt.Println("mysql连接成功")
DB1=database
}
func main() {
defer fmt.Println("mysql数据库关闭")
//insert1()
//delete1()
//update1()
select2()
}
func insert1(){
_,err:=DB1.Exec("insert into course(cname) values(?)","历史")
if err!=nil{
fmt.Println("添加失败",err)
return
}
fmt.Println("添加成功")
}
func delete1(){
_,err:=DB1.Exec("delete from course where cid=?",4)
if err!=nil{
fmt.Println("删除失败",err)
return
}
fmt.Println("删除成功")
}
func update1(){
_,err:=DB1.Exec("update course set cname=? where cid=?","政治",1)
if err!=nil{
fmt.Println("修改失败",err)
return
}
fmt.Println("修改成功")
}
func select2(){
var course []Course
err:=DB1.Select(&course,"select cname from course where cid=1 or cid=2")
if err!=nil{
fmt.Println("获取失败",err)
return
}
fmt.Println(course)
}