第十八章、数据操作
一、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 注意事项
