| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package core
- // 条件接口
- type Condition interface {
- Fields() []string
- Match(row []byte, table *Table) bool
- }
- // ========== 查询操作 ==========
- /*
- // 简单查询
- rows, err := table.Query().
- Select("id", "name", "age").
- Where(Eq("status", uint64(1), types.FieldType_8byte)).
- OrderBy("age", true). // 降序
- Limit(10).
- Offset(20).
- Find()
- // 聚合查询
- count, err := table.Query().
- Where(Gt("age", uint64(18), types.FieldType_8byte)).
- Count()
- sum, err := table.Query().
- Where(Eq("status", uint64(1), types.FieldType_8byte)).
- Sum("score")
- maxAge, err := table.Query().
- Where(Eq("class", uint64(1), types.FieldType_8byte)).
- Max("age")
- // 分组查询
- result, err := table.Query().
- Select("class", "AVG(score)").
- GroupBy("class").
- Having(Gt("AVG(score)", float64(80), types.FieldType_8byte)).
- Find()
- // ========== 更新操作 ==========
- affected, err := table.Update().
- Set("name", []byte("李四")).
- Set("age", uint64(26)).
- Where(Eq("id", uint64(1), types.FieldType_8byte)).
- Exec()
- // ========== 删除操作 ==========
- affected, err := table.Delete().
- Where(And(
- Lt("created_at", uint64(time.Now().Unix()), types.FieldType_8byte),
- Eq("status", uint64(0), types.FieldType_8byte),
- )).
- Exec()
- // ========== 插入操作 ==========
- rowID, err := table.Insert().
- Set("id", uint64(1), types.FieldType_8byte).
- Set("name", []byte("张三"), types.FieldType_256byte).
- Set("age", uint64(25), types.FieldType_8byte).
- Exec() */
|