https://godoc.org/github.com/deathkel/sqlbuilder/builder
- 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()
...
- 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()
...
- 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
- case 1:
delete `user` where (id = ?)
...
sql, bindings := b.Delete("user").Where("id", "1").toSql()
...
- mysql