35 lines
1.7 KiB
Markdown
35 lines
1.7 KiB
Markdown
|
|
|
||
|
|
Following statements are supported:
|
||
|
|
|
||
|
|
* [SELECT](https://github.com/go-jet/jet/wiki/SELECT)
|
||
|
|
* [INSERT](https://github.com/go-jet/jet/wiki/INSERT)
|
||
|
|
* [UPDATE](https://github.com/go-jet/jet/wiki/UPDATE)
|
||
|
|
* [DELETE](https://github.com/go-jet/jet/wiki/DELETE)
|
||
|
|
* [LOCK](https://github.com/go-jet/jet/wiki/LOCK)
|
||
|
|
|
||
|
|
_This list might be extended with feature Jet releases._
|
||
|
|
|
||
|
|
There is a common set of action that can be performed for each statement type:
|
||
|
|
|
||
|
|
- `Sql() (query string, args []interface{}, err error)` - retrieves parametrized sql query with list of arguments
|
||
|
|
- `DebugSql() (query string, err error)` - retrieves debug query where every parametrized placeholder is replaced with its argument.
|
||
|
|
- `Query(db execution.DB, destination interface{}) error` - executes statements over database connection db and stores row result in destination.
|
||
|
|
- `QueryContext(db execution.DB, context context.Context, destination interface{}) error` - executes statement with a context over database connection db and stores row result in destination.
|
||
|
|
- `Exec(db execution.DB) (sql.Result, error)` - executes statement over db connection without returning any rows.
|
||
|
|
- `ExecContext(db execution.DB, context context.Context) (sql.Result, error)` - executes statement with context over db connection without returning any rows.
|
||
|
|
|
||
|
|
Database connection can be of any type that implements following interface:
|
||
|
|
|
||
|
|
```go
|
||
|
|
type DB interface {
|
||
|
|
Exec(query string, args ...interface{}) (sql.Result, error)
|
||
|
|
ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
|
||
|
|
Query(query string, args ...interface{}) (*sql.Rows, error)
|
||
|
|
QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
These include but are not limited to:
|
||
|
|
- `sql.DB`
|
||
|
|
- `sql.Tx`
|
||
|
|
- `sql.Conn`
|