Golang 常用的数据库连接及操作

Golang 操作常用数据库
  • Golang 中对数据库的操作主要通过database/sql库来实现,但实际对数据库的操作并不是该库实现的而是由实现了其接口的对应数据库驱动做的
    因此需要引入对应的驱动并调用初始化方法
  • 常用的几种数据库连接操作:
    • mysql:
      • mysql 驱动安装go get github.com/go-sql-driver/mysql
      • import 时调用初始化方法 _ “github.com/go-sql-driver/mysql”
//增:

func TestMysqlInsert(){
  	DB, err1 := sql.Open("mysql", user:passwd@tcp(host:port)/DataBaseName)
  	defer DB.Close()
  	//sql.Open()接收驱动名称和一个包含连接目标的字符串,返回对应的连接对象
  	check(err1)
  	dbw, err2 := DB.Prepare("insert into Account(username,userid,passwd,email) values(?,?,?,?)")
  	//Prepare()接收带有占位符?的sql语句,相同格式的查询只需要一次Prepare调用,能够避免SQL字符串拼接的SQL注入问题
  	check(err2)
  	dbr, err3 := dbw.Exec("ligs", "162721", "wasu", "ligs@163.com")//对应占位符
   //也可以直接使用DB.Exec()直接传入sql语句来执行
   //DB.Exec("insert into Account(username,userid,passwd,email) values ( "hades", "162721", "2333", "3211@qq.com"))
  	check(err3)
  	row, err4 := dbr.RowsAffected()//返回操作影响的记录数
  	check(err4)
  	log.Println(row)
  
  }
  
//添加表 
func TestMysqlTableAdd() {
  	db, err := sql.Open("mysql", user:passwd@tcp(host:port)/DataBaseName)
  	defer db.Close()
  	check(err)
  	res, err2 := db.Exec("create table if not exists Student(name varchar(20),sex char(4),age int,id varchar(15),primary key(id))")
  	check(err2)
  	rs, errors := res.RowsAffected()
  	check(errors)
  	log.Printf("%v rows were infl
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值