标签:primary red data ima 作用 替换 bsp hub 代码
Go 操作 mysql 需要使用的包:go-sql-driver/mysql 和 sqlx
sqlx 包是作为 database/sql 包的一个额外扩展包,在原有的 database/sql 上加了很多扩展,如果将查询的数据转为结构体,大大简化了代码书写,当然,database/sql 包中的方法同样起作用
github 地址:
安装:
go get "github.com/go-sql-driver/mysql" go get "github.com/jmoiron/sqlx"
连接数据库示例:
var Db *sqlx.DB db, err := sqlx.Open("mysql","username:password@tcp(ip:port)/database?charset=utf8") Db = db
处理类型(Handle Types)
sqlx 设计和 database/sql 使用方法是一样的,包含有 4 个主要的 handle types
所有的 handle types 都提供了对 database/sql 的兼容,意味着当你调用 sqlx.DB.Query 时,可以直接替换为 sql.DB.Query,这就使得 sqlx 可以很容易的加入到已有的数据库项目中
此外,sqlx 还有两个 cursor 类型:
相比 database/sql 还多了新的方法,也就是将获取的数据直接转换成 结构体
建表
以下所有 demo 都以下表结构作为基础
CREATE TABLE `userinfo` ( `uid` INT(10) NOT NULL AUTO_INCREMENT, `create_time` datetime DEFAULT NULL, `username` VARCHAR(64) DEFAULT NULL, `password` VARCHAR(32) DEFAULT NULL, `department` VARCHAR(64) DEFAULT NULL, `email` varchar(64) DEFAULT NULL, PRIMARY KEY (`uid`) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Exec() 方法使用
Exec 和 MustExec 从连接池中获取一个连接然后指向对应的 query 操作,对于不支持 ad-hoc query execution 的驱动,在操作执行的背后会创建一个 prepared statement,在结果返回前,这个 connection 会返回到连接池中
需要注意的是,不同的数据库,使用的占位符不同,mysql 采用 ? 作为占位符
增删
标签:primary red data ima 作用 替换 bsp hub 代码
原文地址:https://www.cnblogs.com/kaichenkai/p/11140555.html