1、限制数据库表行数
/**
* 删除超过maxCount条数的最旧的历史记录
* @param maxCount 历史最大条数
*/
private void deleteRedundantHistory(int maxCount) {
try {
String tableName = HeadNewsHistory.TABLE_NAME;
String sql =
"delete from " + tableName + " where (select count(_id) from " + tableName + ") > "
+ maxCount + " and _id in (select _id from " + tableName
+ " order by _id desc limit (select count(_id) from " + tableName + ") offset "
+ maxCount + ")";
init();
dbHandler.execute(sql);
} catch (Throwable e) {
e.printStackTrace();
}
}2、分页查询数据
/**分页查询 default size=20
* @param desc true倒序(desc)false正序(asc默认)
* @param pageIndex 从1开始
*/
public List queryAll(boolean desc, int pageIndex) {
init();
Cursor cursor = dbHandler.rawQuery("select * from "+UsedCarFav.TABLE_NAME
+" where "+UsedCarFav.DELETED+" = "+UsedCarFav.DELETED_NO
+(desc?(" order by "+UsedCarFav.KEEP_TIME+" desc"):"")
+" limit "+ Finals.TWENTY+" offset "+Finals.TWENTY*(pageIndex-1)
+";");
return readCursorToList(cursor, UsedCarFav.class);
}3、按范围查询多行
select name from user where age=28 and name='Victor';
select name from user where age=28 or name='line';
select id,name,age from user where age in(5,26);