• Andoid数据存储之SQLite数据库


    SQLite是一个嵌入式的并且是一个轻量级的数据库;

    SQLite数据库支持大部分SQL语法, 允许使用SQL语句操作数据库, 其本质是一个文件, 不需要安装启动;

    SQLite数据库打开只是打开了一个文件的读写流, 如果有大数据量读写, 需要高并发存储, 那么就不应该使用SQLite;

            Android系统提供了SQLiteDatabase代表一个数据库,一旦应用程序获得了代表指定数据库的SQLiteDatabase对象,接下来就可以通过SQLiteDatabase对象来管理. 操作数据库了。SQLiteDatabase对象也为我们提供了一些方法来操作数据库:

    execSQL(String sql)    执行一条SQL语句,没有返回值
    execSQL(String sql,Object[] bindArgs) 执行带占位符的SQL语句,没有返回值
    insert(String table,String nullColumnHack,ContentValues  values)    插入一条记录
    update(String table,ContentValues values,String whereClause,String[]  whereArgs)    修改记录
    delete(String table,String whereClause,String[]  whereArgs)    删除一条记录
    query(String table,String[] columns,String selection,String[]  selectionArgs,String groupBy,String having,String  orderBy)    查询一条记录
    query(String table,String[] columns,String selection,String[]  selectionArgs,String groupBy,String having,String  orderBy,String limit)
    执行查询,limit用于控制最多查询几条记录 query(boolean distinct,String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy,String limit) 执行查询,distinct是控制是否去除重复值 rawQuery(String sql,String[] selectionArgs) 执行带占位符的sql查询,带返回值 beginTransaction(); 开始事务 endTransaction(); 结束事务 close() 关闭数据库

            上面的查询方法都返回一个Cursor对象,Android中的Cursor类似于JDBC的ResultSet,Cursor同样提供了如下方法来移动查询结果的记录指针.Cursor游标常用方法:

    getCount()    获得总的数据项数
    isFirst()    判断是否第一条记录
    isLast()    判断是否最后一条记录
    moveToFirst()    移动到第一条记录
    moveToLast()    移动到最后一条记录
    move(int offset)    移动到指定记录
    moveToNext()    移动到下一条记录
    moveToPrevious()    移动到上一条记录
    getColumnIndexOrThrow(String  columnName)    根据列名称获得列索引
    getInt(int columnIndex)    获得指定列索引的int类型值
    getString(int columnIndex)    获得指定列缩影的String类型值
    

            在实际开发中采用SQLiteDatabase的方法打开数据库十分烦琐,所以android为我们提供了SQLiteOpenHelper帮助类。通常都会继承SQLiteOpenHelper开发子类,并通过该子类的getReadableDatabase()  getWritableDatabase()方法打开数据库。 

    下面通过一个实例来说明SQLiteOpenHelper帮助类的具体操作:

  • 相关阅读:
    前端启动摄像头的API
    落谷训练---
    树的遍历 (和) 玩转二叉树 的总结博客
    L2-010 排座位 (并查集)
    最长回文(manacher模板)
    L2-006 树的遍历
    面试题5:从尾到头打印链表
    面试题4:替换空格
    面试题3:二维数组中的查找
    poj 1511(spfa)
  • 原文地址:https://www.cnblogs.com/summers/p/4097437.html
Copyright © 2020-2023  润新知