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() */