Skip to content

eddiewentw/pgxbuilder

Repository files navigation

pgxbuilder

Go Reference test workflow

An SQL string builder for pgx.

Installation

$ go get github.com/eddiewentw/pgxbuilder

Examples

Insert statement:

q := pgxbuilder.Insert("users", []string{"username", "password"}).
	Values("triangulum", "6p79P56wNG")

fmt.Println(q.String())
// INSERT INTO users(username, password) VALUES ($1, $2)

fmt.Println(q.Parameters())
// [triangulum 6p79P56wNG]

Select statement:

pgxbuilder.From("users").
	Where("username = 'triangulum'").
	String()
// SELECT * FROM users WHERE (username = 'triangulum')

Update statement:

pgxbuilder.Update("users").
	Set("username = 'mandolin'")
// UPDATE users SET username = 'mandolin'

Delete statement:

pgxbuilder.Delete("users").
	Where("username = 'mandolin'")
// DELETE FROM users WHERE (username = 'mandolin')

with pgx:

func addTask(description string) error {
	q := Insert("task", []string{"description"}).
		Values(description)
	_, err := conn.Exec(context.Background(), q.String(), q.Parameters()...)
	return err
}