Go操作mysql数据库增删改查

本文介绍了如何使用Go语言进行MySQL数据库的操作,包括查询单条和多条数据、新增、更新以及删除数据的步骤和注意事项,详细展示了相关函数的实现和使用示例。
摘要由CSDN通过智能技术生成

一.查询单条数据

查询单条数据使用QueryRow

1.将数据库连接封装成单独的函数

var db *sql.DB //连接池对象

func initDB() (err error) {
   
	// DSN:Data Source Name
	dsn := "root:123456@tcp(127.0.0.1:3306)/test2"
	db, err = sql.Open("mysql", dsn) //open不会校验用户名和密码是否正确
	if err != nil {
   
		return
	}
	err = db.Ping()
	if err != nil {
   
		return
	}

	db.SetMaxOpenConns(10) //设置数据库连接池的最大连接数 10
	db.SetMaxIdleConns(5)  //设置最大空闲连接数
	return
}

2.定义一个结构体


type user struct {
    //结构体
	id   int
	name string
	age  int
}

3.构造一个查询单条数据的函数

func queryOne(id int) {
   
	var u1 user
	// 1.写查询单条记录的sql语句
	sqlStr := "select id,name,age from user where id =?;"
好的,以下是使用beego操作mysql数据库实现增删改查的示例代码: ```go package controllers import ( "github.com/astaxie/beego" "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql" ) type UserController struct { beego.Controller } type User struct { Id int Name string Age int } func init() { orm.RegisterDriver("mysql", orm.DRMySQL) orm.RegisterDataBase("default", "mysql", "root:password@tcp(127.0.0.1:3306)/test?charset=utf8") orm.RegisterModel(new(User)) orm.RunSyncdb("default", false, true) } func (c *UserController) AddUser() { o := orm.NewOrm() user := User{Name: "Tom", Age: 20} id, err := o.Insert(&user) if err == nil { c.Ctx.WriteString("Insert user success, id: " + string(id)) } else { c.Ctx.WriteString("Insert user failed, err: " + err.Error()) } } func (c *UserController) GetUser() { o := orm.NewOrm() user := User{Id: 1} err := o.Read(&user) if err == nil { c.Ctx.WriteString("Get user success, name: " + user.Name + ", age: " + string(user.Age)) } else { c.Ctx.WriteString("Get user failed, err: " + err.Error()) } } func (c *UserController) UpdateUser() { o := orm.NewOrm() user := User{Id: 1} if o.Read(&user) == nil { user.Age = 22 if num, err := o.Update(&user); err == nil { c.Ctx.WriteString("Update user success, num: " + string(num)) } else { c.Ctx.WriteString("Update user failed, err: " + err.Error()) } } } func (c *UserController) DeleteUser() { o := orm.NewOrm() user := User{Id: 1} if num, err := o.Delete(&user); err == nil { c.Ctx.WriteString("Delete user success, num: " + string(num)) } else { c.Ctx.WriteString("Delete user failed, err: " + err.Error()) } } ``` 这段代码演示了如何使用beego的ORM模块连接mysql数据库,并实现增删改查操作。其中,init函数用于注册数据库驱动和连接数据库;AddUser函数用于新增用户;GetUser函数用于查询用户;UpdateUser函数用于更新用户;DeleteUser函数用于删除用户。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值