Android :这是一份详细 & 全面的 SQLlite数据库 使用手册

这篇博客详细介绍了如何在Android中使用SQLite数据库,包括游标的使用、数据库操作方法、实例演示和注意事项。通过示例代码展示了如何创建表、插入数据、查询、修改和删除数据,强调了使用SQL语句的便利性。同时,提供了数据库操作的最佳实践,如在完成操作后关闭数据库。
摘要由CSDN通过智能技术生成

// 通过游标的方法可迭代查询结果
if(cursor.moveToFirst()) {
String password = c.getString(c.getColumnIndex(“password”));
}

//Cursor对象常用方法如下:
c.move(int offset); //以当前位置为参考,移动到指定行
c.moveToFirst(); //移动到第一行
c.moveToLast(); //移动到最后一行
c.moveToPosition(int position); //移动到指定行
c.moveToPrevious(); //移动到前一行
c.moveToNext(); //移动到下一行
c.isFirst(); //是否指向第一条
c.isLast(); //是否指向最后一条
c.isBeforeFirst(); //是否指向第一条之前
c.isAfterLast(); //是否指向最后一条之后
c.isNull(int columnIndex); //指定列是否为空(列基数为0)
c.isClosed(); //游标是否已关闭
c.getCount(); //总数据项数
c.getPosition(); //返回当前游标所指向的行数
c.getColumnIndex(String columnName);//返回某列名对应的列索引值
c.getString(int columnIndex); //返回当前行指定列的值

// 通过游标遍历1个名为user的表
Cursor result=db.rawQuery(“SELECT _id, username, password FROM user”);
result.moveToFirst();
while (!result.isAfterLast()) {
int id=result.getInt(0);
String name=result.getString(1);
String password =result.getString(2);
// do something useful with these
result.moveToNext();
}
result.close();

// 若查询是动态的,使用该方法会复杂。此时使用 query() 会方便很多
// 注:无法使用SQL语句,即db.execSQL(sql);

/**

  • 操作4:查询数据2 = query()
  • 直接调用 SELECT 语句
    */
    // 方法说明
    db.query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy);
    db.query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit);
    db.query(String distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit);

// 参数说明
// table:要操作的表
// columns:查询的列所有名称集
// selection:WHERE之后的条件语句,可以使用占位符
// groupBy:指定分组的列名
// having指定分组条件,配合groupBy使用
// orderBy指定排序的列名
// limit指定分页参数
// distinct可以指定“true”或“false”表示要不要过滤重复值

// 所有方法将返回一个Cursor对象,代表数据集的游标

// 具体使用
Cursor cursor = sqliteDatabase.query(“user”, new String[] { “id”,“name” }, “id=?”, new String[] { “1” }, null, null, null);
// 参数1:(String)表名
// 参数2:(String[])要查询的列名
// 参数3:(String)查询条件
// 参数4:(String[])查询条件的参数
// 参数5:(String)对查询的结果进行分组
// 参数6:(String)对分组的结果进行限制
// 参数7:(String)对查询的结果进行排序

// 注:无法使用SQL语句,即db.execSQL(sql);
/**

  • 操作5:关闭数据库 = close()
  • 注:完成数据库操作后,记得调用close()关闭数据库,从而释放数据库的连接
    */
    sqliteDatabase.close();

/**

  • 操作6:删除数据库 = deleteDatabase()
    */
    // 删除 名为person的数据库
    deleteDatabase(“test.db”);
  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值