内容简介:版权声明:本文为博主尹成联系QQ77025077,微信18510341407原创文章,欢迎转载侵权不究。 https://blog.csdn.net/yincheng01/article/details/84134161
版权声明:本文为博主尹成联系QQ77025077,微信18510341407原创文章,欢迎转载侵权不究。 https://blog.csdn.net/yincheng01/article/details/84134161
下载第三方依赖
go get github.com/jmoiron/sqlx go get github.com/go-sql-driver/mysql
- 其中github.com/jmoiron/sqlx是我们需要用到的主要类库
- github.com/go-sql-driver/mysql是作为 MySQL 的驱动程序存在的,我们只需要执行包的init方法即可
引入依赖
import ( "github.com/jmoiron/sqlx" //执行mysql包的init方法 _"github.com/go-sql-driver/mysql" "fmt" )
建立测试数据库表
create database mydb charset=utf8; use mydb; create table person( id int primary key auto_increment, name varchar(20) unique not null, age int default 0, dollar float default 1 ); alter table person add sex bool; alter table person add schoolday date; alter table person add birthtime datetime;
定义与数据表向匹配的结构体
/* id | name | poem | age | dollar | sex | schoolday | birthtime */ type Person struct { //所有属性必须公开——框架会转化查询结果为结构体对象 //标签名写法:`db:"表字段名"` Name string `db:"name"` Age int `db:"age"` Dollar float32 `db:"dollar"` }
执行增删改查操作
- 增删改的方式是db.Exec(sql)
- 查询的方式是:db.select(&model,sql)
func main() { //连接数据库 db, _ := sqlx.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/mydb") defer db.Close() //执行增删改,获得受影响的行数 result, _ := db.Exec("insert into person(name,age,sex,schoolday,birthtime) values(?,?,?,?,?);", "双黄蛋", 35, false, 20080813, 20180814164300) rowsAffected, _:= result.RowsAffected() lastInsertId, _ := result.LastInsertId() fmt.Println("受影响的行数",rowsAffected,"最后一条记录的id",lastInsertId) //执行增删改 db.Exec("insert into person(name,age,sex,schoolday,birthtime) values(?,?,?,?,?);", "双黄蛋", 35, false, 20080813, 20180814164300) db.Exec("delete from person where id=?;", 2) db.Exec("update person set name=? where name=?;", "张俩蛋","张全蛋") //执行查询,获得person对象 //用于接收的数据类型是【结构体切片】,必须包含查询字段对应的公开属性,属性标签应写作:`db:"表字段名"` var ps []Person //第一个参数是【结构体切片】的地址 err := db.Select(&ps, "select name,age,dollar from person where name like ?;", "%蛋") if err!=nil{ fmt.Println("err=",err) } fmt.Printf("%T,%v\n", ps, ps) fmt.Println("执行成功!") }
学院 Go 语言视频主页
https://edu.csdn.net/lecturer/1928扫码获取海量视频及源码 QQ群:721929980
以上所述就是小编给大家介绍的《MySQL数据库5:Go与MySQL的交互》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Redis数据库4:Go与Redis的交互
- Struts2和Oracle数据库交互的小Demo
- 如何与以太坊区块链交互并用Python和SQL创建数据库
- 构建自己的地理信息空间数据库及与客户端简单交互
- 竞赛报名 | AI时代数据库交互怎么玩?首届中文NL2SQL挑战赛开战
- iOS 12 人机交互指南:交互(User Interaction)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
复杂网络理论及其应用
汪小帆、李翔、陈关荣 / 清华大学出版社 / 2006 / 45.00元
国内首部复杂网络专著 【图书目录】 第1章 引论 1.1 引言 1.2 复杂网络研究简史 1.3 基本概念 1.4 本书内容简介 参考文献 第2章 网络拓扑基本模型及其性质 2.1 引言 2.2 规则网络 2.3 随机图 2.4 小世界网络模型 2.5 无标度网络模型 ......一起来看看 《复杂网络理论及其应用》 这本书的介绍吧!