针对Go语言的数据库编程,Go标准库中针对此并没有对应的数据库操作包来直接操作目前主流的数据库,但在database/sql中封装了标准的数据库操作接口,其中包括有:
sql.Register 用于 go包中init函数中,用来注册数据库驱动如(不同数据库注册方式有所差异):
https://github.com/mattn/go-sqlite3func init(){
sql.Register("sqlite3",&SQLiteDriver{})
} sql.Open 打开数据库连接,返回driver.Driver即数据库的Conn接口
Conn,err = sql.Open(...)
diver.Stmt是一种数据库操作的准备状态,与Conn相关联
stmt,err := Conn.Prepare(....sql)
driver.Tx 事务处理的两个过程接口定义,包括递交或回滚
type Tx interface{
Commit() error
Rollback() error
}
driver.Execer driver.Conn实现的接口,用来执行SQL查询语句
driver.Result执行Insert或者Update返回后的结果接口定义
type Result interface{
LastInsertId() (int64,error)
RowsAffected() (int64,error)
}driver.Rows执行查询返回的结果集接口定义type Rows interface{
Columns()