#### One:一条数据
* qs.Filter("name\_\_exact","Haha").One(&stu)
* *指定显示的字段*
* qs.Filter("name\_\_exact","Haha").One(&stu,"name","age")
#### Filter:**包含条件**
* 多个 Filter 之间使用 AND 连接
* qs.Filter("profile\_\_isnull", true).Filter("name", "slene")
* 类sql: WHERE NOT profile\_id IS NULL AND name = 'slene'
#### All:所有数据
* 返回对应的结果集对象
* 默认最大行数为 1000
* user\_arr := \[\]models.UserStruct{}
* qs.Filter("name\_\_exact","Haha").All(&user\_arr)
* *指定显示的字段*
* qs.Filter("name\_\_exact","Haha").All(&user\_arr,"name","age")
#### Exclude:**排除条件**
* Exclude 之间使用 AND 连接
* 使用 NOT 排除条件
* qs.Exclude("profile\_\_isnull", true).Filter("name", "slene")
#### Limit:限制最大返回数据行数
* 第二个可选参数可以设置Offset,意思从什么位置开始查询
* qs.Limit(10, 20)
* LIMIT 10 OFFSET 20*注意跟 SQL 反过来的*
* beego中limit的使用:qs.Limit(2,1).All(&user\_arr)
* sql的limit:limit 0,2; 从第0个数据开始,查询两条数据
#### Offset:设置 偏移行数,意思从什么位置开始查询
* qs.Offset(20)
* beego中使用:qs.Filter("name\_\_isnull",false).Offset(1).All(&user\_arr)
* 角标从0开始,代表第一条数据
#### GroupBy:分组
* 根据“By”指定的规则对数据进行分组
* beego中使用GroupBy:qs.GroupBy("age").All(&user\_arr)
* sql:SELECT SUM(age) FROM`user`GROUP BY addr
* group by 必须放在 order by 和 limit之前
#### OrderBy:排序
* 参数使用 expr
* ASC升序,字段名前面没有- :qs.OrderBy("age" ) 默认的
* DESC降序,字段名前面有- :qs.OrderBy("-age" )
* 根据多个字段排序,用逗号隔开: qs.OrderBy("-age" ,“name”)
* qs.OrderBy("-age").All(&user\_arr)
#### Distinct:去重,*没有参数*
* 根据指定字段去重,需要在all方法中指定字段,否则根据所有字段去重
* beego中的使用:qs.Distinct().All(&user\_arr,"name","age","addr")
* sql:SELECT DISTINCT addr, age,name FROM`user`
#### Count:统计个数,*没有参数,后面不能跟查询条数的方法*
* num, err := qs.Filter("name\_\_isnull",false).Count()
* 统计的个数
* 错误信息
* sql:SELECT COUNT(\*) FROM`user`;
#### Exist:是否存在,*没有参数,后面不能跟查询条数的方法*
* exict := qs.Filter("name\_\_isnull",false).Exist()
* 返回true或false
#### Update:更新
* 依据当前查询条件,进行批量更新操作
* num, err := o.QueryTable("user").Filter("name", "slene").Update(orm.Params{
~~~
"name": "astaxie",
~~~
})
* 返回更新的条数和错误信息
#### Delete:删除
* 依据当前查询条件,进行批量删除操作
* num, err := o.QueryTable("user").Filter("name", "slene").Delete()
* 返回删除的条数和错误信息