内容简介:v0.1.3 版本更新: 修复一个排序bug 调整优化实现,减少内部复杂度 gosql 是一款开源的 操作mysql类库, 支持用golang方式书写复杂sql。 特有的风格写法 支持嵌套的复杂sql 支持读写分离 支持延时链接 结构映射 ...
v0.1.3 版本更新:
- 修复一个排序bug
- 调整优化实现,减少内部复杂度
gosql 是一款开源的 操作 mysql 类库, 支持用golang方式书写复杂sql。
- 特有的风格写法
- 支持嵌套的复杂sql
- 支持读写分离
- 支持延时链接
- 结构映射
- 事务支持
- 多数据库实例
- 用例即文档
- 条件插件机制
代码方便,实现 87% 的测试覆盖 试图提供优质的代码供开发者使用
其 sql 构建库可单独使用 实现自行构建复杂sql
如:
s := gosql.NewSQLSegment()
s.Flag("DISTINCT")
s.Field("*")
s.Table("tbl1.t1")
s.Where("t1.status", "0")
s.Where("name", "jack")
s.Where("[!=]nick", "tom")
s.Where("[in]role1", []string{"1", "2", "3", "4"})
s.Where("[!in]role2", []string{"1", "2", "3", "4"})
s.Where("[in]card1", 1)
s.Where("[!in]card2", 1)
s.Where(func(s *Clause) {
s.Where("[>]age", "20")
s.Where("[<]", "50")
})
s.Where("v1 = 1")
s.Where("[#]v2 = ?", 2)
s.Join("tbl3", "a", "=", "b")
s.Having("class", "one")
s.Where("[~]desc", "student")
s.Where("[!~]desc", "teacher")
s.Where("[exists]my_card", "select 1")
s.Where("[!exists]my_card2", func(s *SQLSegments) {
s.Table("tbl2.t2")
s.Where("t2.id", 10000)
})
s.GroupBy("class","group")
s.OrderBy("score desc", "name asc","age")
s.Limit(30)
s.Offset(10)
s.ForUpdate()
fmt.Println(s.BuildSelect())
构建出如下sql:
SELECT DISTINCT *
FROM `tbl1`.`t1`
JOIN `tbl3` ON `a` = `b`
WHERE (`t1`.`status` = ?
AND `name` = ?
AND `nick` != ?
AND `role1` IN (?, ?, ?, ?)
AND `role2` NOT IN (?, ?, ?, ?)
AND `card1` IN (?)
AND `card2` NOT IN (?)
AND (`age` > ?
AND `age` < ?)
AND v1 = 1
AND v2 = ?
AND `desc` LIKE ?
AND `desc` NOT LIKE ?
AND EXISTS (
SELECT 1
)
AND NOT EXISTS (
SELECT *
FROM `tbl2`.`t2`
WHERE `t2`.`id` = ?
))
GROUP BY `class`, `group`
HAVING `class` = ?
ORDER BY `score` DESC, `name` ASC, `age`
LIMIT 10, 30
FOR UPDATE
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Algorithms on Strings, Trees and Sequences
Dan Gusfield / Cambridge University Press / 1997-5-28 / USD 99.99
String algorithms are a traditional area of study in computer science. In recent years their importance has grown dramatically with the huge increase of electronically stored text and of molecular seq......一起来看看 《Algorithms on Strings, Trees and Sequences》 这本书的介绍吧!
HTML 编码/解码
HTML 编码/解码
HSV CMYK 转换工具
HSV CMYK互换工具