sqlbuilder
is a Go library for building SQL queries.
The latest stable version is 4.0.0. Version 4 is identical to version 3 with added support for Go modules.
sqlbuilder
follows Semantic Versioning.
import "github.com/thcyron/sqlbuilder/v4"
SELECT
query, args, dest := sqlbuilder.Select().
From("customers").
Map("id", &customer.ID).
Map("name", &customer.Name).
Map("phone", &customer.Phone).
Order("id DESC").
Limit(1).
Build()
err := db.QueryRow(query, args...).Scan(dest...)
INSERT
query, args, dest := sqlbuilder.Insert().
Into("customers").
Set("name", "John").
Set("phone", "555").
Build()
res, err := db.Exec(query, args...)
UPDATE
query, args := sqlbuilder.Update().
Table("customers").
Set("name", "John").
Set("phone", "555").
Where("id = ?", 1).
Build()
res, err := db.Exec(query, args...)
DELETE
query, args := sqlbuilder.Delete().
From("customers").
Where("name = ?", "John").
Build()
res, err := db.Exec(query, args...)
sqlbuilder
supports building queries for MySQL, SQLite, and Postgres databases. You
can set the default dialect with:
sqlbuilder.DefaultDialect = sqlbuilder.Postgres
sqlbuilder.Select().From("...")...
Or you can specify the dialect explicitly:
sqlbuilder.Select().Dialect(sqlbuilder.Postgres).From("...")...
sqlbuilder
is licensed under the MIT License.