#### 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()
* 返回刪除的條數和錯誤信息