Skip to content

deathkel/sqlbuilder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

golang SQL builder

this is a sql builder for golang in chain style

Software License Quality Score

godoc

https://godoc.org/github.com/deathkel/sqlbuilder/builder

USAGE

SELECT
  • case 1:select * from user
b := new(builder.Builder)
sql, bindings := b.Select("*").From("user").toSql()
  • case 2: select *, `user`.`name`, count(1) as count from `user` where (id = ?)
...
sql, bindings := b.Select("*", "user.name", "count(1) as count").From("user").Where("id", "1").toSql()
...
INSERT
  • case 1: insert into `user` (`name`, `sex`, `age`) values (?, ?, ?)
...
info := map[string]string{"name":"john", "sex":"2", "age":"22"}
sql, bindings := b.Insert("user", info).toSql()
...
UPDATE
  • case 1: update `user` set `name` = ?, `sex` = ?, `age` = ? where (id = ?)
...
info := map[string]string{"name":"john", "sex":"2", "age":"22"}
sql, bindings := b.Update("user", info).Where("id", "1").toSql()
...
  • case 2(update raw): update `user` set `age` = `age` + 1
sql, bindings := b.Update("ta", map[string]interface{}{"increase a": &builder.Expression{Value: "a = a + 1"}}).ToSql()

when use Expression, map key (increase a) will be ignored

DELETE
  • case 1: delete `user` where (id = ?)
...
sql, bindings := b.Delete("user").Where("id", "1").toSql()
...

support database

  • mysql

About

golang sql builder inspired by laravel builder

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages