简单讲解Go程序中使用MySQL的方法
go官方仅提供了database package,database package下有两个包sql,sql/driver。这两个包用来定义操作数据库的接口,这就保证了无论使用哪种数据库,他们的操作方式都是相同的。
其中,mysql有两个包,一个是mymysql,一个是go-sql-driver/mysql,两个package都是纯go实现。我选择了后者,因为后者的效率更高一点,benchmark在这里:https://github.com/go-sql-driver/sql-benchmark 复制代码 代码如下: db,err := sql.Open(“mysql”,“user:password@/dbname”) db 是一个*sql.DB类型的指针,在后面的操作中,都要用到db open之后,并没有与数据库建立实际的连接,与数据库建立实际的连接是通过Ping方法完成。此外,db应该在整个程序的生命周期中存在,也就是说,程序一启动,就通过Open获得db,直到程序结束,再Close db,而不是经常Open/Close。 复制代码 代码如下: err = db.Ping() 2、基本用法 QueryRow 执行数据库至多返回1行的Query操作,返回*Row PrePare 准备一个数据库query操作,返回一个*Stmt,用于后续query或执行。这个Stmt可以被多次执行,或者并发执行 Exec 执行数不返回任何rows的据库语句,例如delete操作 3、简单实例 复制代码 代码如下: package main import ( type User struct { var sqldata map[interface{}]interface{} func main() { fmt.Println(rows.Columns()) func check(err error) { (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |