1. 程式人生 > 實用技巧 >go語言mysql原生增刪改查

go語言mysql原生增刪改查

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)
}