需要引入的包
import (
"fmt"
_"github.com/go-sql-driver/mysql"
//mysql快捷处理的一个包
"github.com/jmoiron/sqlx"
"encoding/json"
)
定义一个数据库
var Db *sqlx.DB
初始化时实例一个连接
func init() {
database, err := sqlx.Open("mysql", "用户名:密码@tcp(数据库地址:3306)/库名称?charset=utf8")
if err != nil {
fmt.Println("open mysql failed,", err)
return
}
Db = database
}
增加一条数据
func adddata() {
_ ,err := Db.Exec("insert into user_login(username, password)values(?, ?)", "keqixing", "520520")
if err != nil {
fmt.Println("用户添加失败 ", err)
return
}
fmt.Println("用户添加成功")
}
修改一条数据
func update() {
_ , err := Db.Exec("update user_login set username=? where user_id=?", "keke520", 12)
if err != nil {
fmt.Println("修改失败", err)
return
}
fmt.Println("修改用户信息成功")
}
修改一条数据
func delete() {
_, err := Db.Exec("delete from user_login where user_id=?", 5)
if err != nil {
fmt.Println("删除失败", err)
return
}
fmt.Println("删除用户成功")
}
修改一条数据
//定义一个查询后的结构体
type User struct {
UserId int `db:"user_id"`
Username string `db:"username"`
Password string `db:"password"`
}
var user []User
func selectsome() {
err := Db.Select(&user, "select * from user_login where user_id=?", 1)
if err != nil {
fmt.Println("查询失败", err)
return
}
fmt.Println(user)
//序列化查询结果
data , _ := json.Marshal(&user)
fmt.Printf("序列化后结果=%v\n",string(data))
}
查询结果
[{1 admin 21232f297a57a5a743894a0e4a801fc3}]
序列化后结果=[{"UserId":1,"Username":"admin","Password":"21232f297a57a5a743894a0e4a801fc3"}]