go操作操作mysql(增删改查)
来源:互联网 发布:软件主管岗位职责 编辑:程序博客网 时间:2024/05/20 19:31
go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,
常用的有如下几种:
https://github.com/Go-SQL-Driver/MySQL 支持database/sql,全部采用go写。
https://github.com/ziutek/mymysql 支持database/sql,也支持自定义的接口,全部采用go写。
https://github.com/Philio/GoMySQL 不支持database/sql,自定义接口,全部采用go写。
推荐第1个,主要理由:
这个驱动比较新,维护的比较好
完全支持database/sql接口
常用的有如下几种:
https://github.com/Go-SQL-Driver/MySQL 支持database/sql,全部采用go写。
https://github.com/ziutek/mymysql 支持database/sql,也支持自定义的接口,全部采用go写。
https://github.com/Philio/GoMySQL 不支持database/sql,自定义接口,全部采用go写。
推荐第1个,主要理由:
这个驱动比较新,维护的比较好
完全支持database/sql接口
支持keepalive,保持长连接
1、建表
CREATE TABLE `user_info` ( `uid` INT(10) NOT NULL AUTO_INCREMENT, `username` VARCHAR(64) NULL DEFAULT NULL, `departname` VARCHAR(64) NULL DEFAULT NULL, `created` DATE NULL DEFAULT NULL, PRIMARY KEY (`uid`));
go get github.com/go-sql-driver/mysql
我的环境变量设置:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/data/go
所以下载到/data/go/src目录
3、编写代码
mysql.go
package mainimport ( _ "github.com/go-sql-driver/mysql" "database/sql" "fmt" //"time")func main() { db, err := sql.Open("mysql", "root:123456@/test?charset=utf8") checkErr(err) // 插入数据 stmt, err := db.Prepare("INSERT user_info SET username=?,departname=?,created=?") checkErr(err) res, err := stmt.Exec("test", " 研发部门", "2017-12-09") checkErr(err) id, err := res.LastInsertId() checkErr(err) fmt.Println(id) // 更新数据 stmt, err = db.Prepare("update user_info set username=? where uid=?")checkErr(err)res, err = stmt.Exec("test", id)checkErr(err)affect, err := res.RowsAffected()checkErr(err)fmt.Println(affect)// 查询数据rows, err := db.Query("SELECT * FROM user_info")checkErr(err)for rows.Next() { var uid int var username string var department string var created string err = rows.Scan(&uid, &username, &department, &created) checkErr(err) fmt.Println(uid) fmt.Println(username) fmt.Println(department) fmt.Println(created)}// 删除数据stmt, err = db.Prepare("delete from user_info where uid=?")checkErr(err) //res, err = stmt.Exec(id) checkErr(err) affect, err = res.RowsAffected() checkErr(err) fmt.Println(affect) db.Close()}func checkErr(err error) { if err != nil { panic(err) }}
0 0
- go操作操作mysql(增删改查)
- go 操作mysql、增删改查
- go语言操作mysql范例(增删查改)
- Go操作mysql实现增删改查及连接池
- Go语言操作mysql实现增删改查
- py mysql 操作(增删改查)
- MySQL---操作数据表基本操作(增删改查)
- 增删查改操作
- java操作mysql的增删改查
- mysql常用增删改查等操作
- java操作mysql的增删改查
- jdbc 操作 mysql 增删改查
- python 操作 mysql 简单增删改查
- java操作mysql的增删改查
- java操作mysql增删改查
- c# 连接mysql 增删改查操作
- 【完善】Java操作MySql增删改查
- MySQL命令操作 增删查改
- strtok,strtok_s
- ButterKnife框架原理
- DBSCAN算法的Python实现
- SQL中的char、varchar、nvarchar
- Oracle数据库导入导出命令总结
- go操作操作mysql(增删改查)
- java古典问题:兔子生兔子
- 转接IC ICN6211:MIPI DSI转RGB芯片
- Unity游戏系统之-RPG游戏剧情呈现策略
- Python带步进的切片
- APPIUM学习--环境安装
- 1006:换个格式输出整数
- 物联网之绿色出行
- 判断手机号是否是素数