Go原生就支持连接数据库,所以在使用 Golang 开发时,当需要数据库交互时,即可使用database/sql包。

sql.DBdatabase/sqlgithub.com/go-sql-driver/mysql
包名前的"_"

import 下划线(如:import _ github/demo)的作用:当导入一个包时,该包下的文件里所有init()函数都会被执行,然而,有些时候我们并不需要把整个包都导入进来,仅仅是是希望它执行init()函数而已。这个时候就可以使用 import _ 引用该包。
上面的MySQL驱动中引入的就是MySQL包中各个init()方法,你无法通过包名来调用包中的其他函数。导入时,驱动的初始化函数会调用sql.Register将自己注册在database/sql包的全局变量sql.drivers中,以便以后通过sql.Open访问。


案例用数据表


初始化数据库连接


"用户名:密码@tcp(IP:端口)/数据库?charset=utf8"*sql.DBQueryExecQueryExec常见数据库操作模式:
QueryRowQueryPrepare
查询操作

执行流程

db.Query()Rowsrows.Next()rows.Scanrows.Err()rows.Close()
增删改和Exec

ResultResult
准备查询

db.Prepare
占位符

$NN?:param15. 事务的使用
db.Begin()BeginTxTxCommit()Rollback()TxTxsql.DBQuery,Exec目前交流群已有 800+人,旨在促进技术交流,可关注公众号
