sql包
数据库
驱动缓存特性
连接复用影响
刷新方式
1 变量
var ErrConnDone = errors.New("sql: connection is already closed")
var ErrNoRows = errors.New("sql: no rows in result set")
var ErrTxDone = errors.New("sql: transaction has already been committed or rolled back")错误变量
触发条件
处理重点
典型场景
2 核心接口与结构
2.1 sql.DB
2.1.1 func Open(driverName, dataSourceName string) (*DB, error)
2.1.2 (db *DB) Begin() (*Tx, error)
2.1.3 (db *DB) BeginTx(ctx context.Context, opts *TxOptions) (*Tx, error)
2.1.4 (db *DB) Close() error
2.1.5 (db *DB) Exec(query string, args ...any) (Result, error)
(db *DB) Exec(query string, args ...any) (Result, error)2.1.6 (db *DB) ExecContext(ctx context.Context, query string, args ...any) (Result, error)
2.1.7 (db *DB) Ping() error
2.1.8 (db *DB) PingContext(ctx context.Context) error
2.1.9 (db *DB) Prepare(query string) (*Stmt, error)
2.1.10 (db *DB) PrepareContext(ctx context.Context, query string) (*Stmt, error)
2.1.11 (db *DB) Query(query string, args ...any) (*Rows, error)
2.1.12 (db *DB) QueryContext(ctx context.Context, query string, args ...any) (*Rows, error)
2.1.13 (db *DB) QueryRow(query string, args ...any) *Row
2.1.14 (db *DB) QueryRowContext(ctx context.Context, query string, args ...any) *Row
2.1.15 (db *DB) Stats() DBStats
2.1.16 连接池配置方法
2.2 sql.DBStats
字段名
类型
说明
2.3 sql.Result
方法
返回值
适用场景
常见错误场景
2.4 sql.Row
2.4.1 func (r *Row) Scan(dest ...any) error
2.4.2 func (r *Row) Err() error(Go 1.15+)
2.5 sql.Rows
2.5.1 核心方法
2.5.2 标准使用流程
2.5.3 错误处理与陷阱
2.6 sql.Stmt
方法
功能
返回类型
2.7 sql.Tx
2.7.1 Commit() error
2.7.2 Rollback() error
2.7.3 Exec 和 ExecContext
和 ExecContext2.7.4 Query 和 QueryContext
2.7.5 QueryRow 和 QueryRowContext
2.7.6 Prepare 和 PrepareContext
2.7.7 Stmt 和 StmtContext
2.8 sql.Txoptions
2.8.1 Isolation IsolationLevel
常量
值
描述
2.8.2 ReadOnly bool
2.9 Null*类型
类型
结构体定义
用途
2.9.1 核心功能
2.10 sql.ColumnType
最后更新于