第十八章、数据操作
一、golang操作mysql
1.1 安装第三方库
进入到项目的src目录下,在终端执行:go get github.com/go-sql-driver/mysql
1.2 连接mysql sql.Open()
1.3 往mysql写入数据DB.Exec()
1.4 查询数据
单行查询:db.QueryRow()
多行查询:db.Query()
1.5 更新数据DB.Exec()
1.6 删除数据DB.Exec()
1.7 mysql预处理 func (db *DB) Prepare(query string) (*stmt,error)
一、预处理查询
二、预处理添加、删除、编辑语句类似
1.8 mysql事务DB.Begin() DB.Commit() DB.Rollback()
1.9 演示sql注入 注意:任何时候,都不应该在项目中拼接SQL语句!!!
二、golang操作sqlx库
2.1 sqlx库基本介绍
sqlx是 Go 的软件包,它在出色的内置database/sql软件包的基础上提供了一组扩展。
该库兼容sql原生包,同时又提供了更为强大的、优雅的查询、插入函数。
该库提供四个处理类型,分别是:
sqlx.DB – 类似原生的 sql.DB;sqlx.Tx – 类似原生的 sql.Tx;sqlx.Stmt – 类似原生的 sql.Stmt, 准备 SQL 语句操作;sqlx.NamedStmt – 对特定参数命名并绑定生成 SQL 语句操作。
提供两个游标类型,分别是:
sqlx.Rows – 类似原生的 sql.Rows, 从 Queryx 返回;sqlx.Row – 类似原生的 sql.Row, 从 QueryRowx 返回。
2.2 安装第三方库
进入到项目的src目录下,在终端执
2.3 链接数据库 sqlx.Connect()
2.4 单行查询Db.Get()
2.5 多行查询Db.Get()
2.6 Db.NameEcex()方法用来绑定SQL语句与结构体或map中的同名字段
2.7 注意事项