当前位置:   article > 正文

在Android中SQLiteDatabase如何操作SQLite 数据库_android sqlite 在 getreadabledatabase 需要关闭么

android sqlite 在 getreadabledatabase 需要关闭么

SQLiteDatabaseAndroid 中用于管理 SQLite 数据库的类,它提供了一组方法来执行数据库操作。

常用方法

  • openDatabase():打开数据库。
  • close():关闭数据库。
  • execSQL():执行 SQL 语句。
  • insert():插入数据。
  • update():更新数据。
  • delete():删除数据。
  • query():查询数据。
  • rawQuery():执行原始 SQL 语句。
  • compileStatement():编译 SQL 语句。
  • execute():执行已编译的 SQL 语句。

示例代码

1. 获取 SQLiteDatabase 实例: 要使用 SQLiteDatabase,首先需要获取它的实例。通常,你会使用 SQLiteOpenHelpergetWritableDatabase()getReadableDatabase() 方法来获取 SQLiteDatabase 实例。

// 创建或打开一个数据库,获取可写数据库的实例
SQLiteDatabase db = dbHelper.getWritableDatabase();

// 或获取只读数据库的实例
SQLiteDatabase db = dbHelper.getReadableDatabase();
  • 1
  • 2
  • 3
  • 4
  • 5

2. 创建表格: 使用 execSQL() 方法执行 SQL 语句来创建数据库表格。

String createTableSQL = "CREATE TABLE IF NOT EXISTS my_table (" +
        "id INTEGER PRIMARY KEY," +
        "name TEXT," +
        "age INTEGER)";
db.execSQL(createTableSQL);
  • 1
  • 2
  • 3
  • 4
  • 5

3. 插入数据: 使用 insert() 方法插入新数据。

ContentValues values = new ContentValues();
values.put("name", "John");
values.put("age", 30);
long newRowId = db.insert("my_table", null, values);
  • 1
  • 2
  • 3
  • 4

4. 查询数据: 使用 query() 方法查询数据。

String[] projection = {"id", "name", "age"};
String selection = "name=?";
String[] selectionArgs = {"John"};
Cursor cursor = db.query("my_table", projection, selection, selectionArgs, null, null, null);
  • 1
  • 2
  • 3
  • 4

5. 更新数据: 使用 update() 方法更新数据。

ContentValues values = new ContentValues();
values.put("age", 31);
String selection = "name=?";
String[] selectionArgs = {"John"};
int rowsUpdated = db.update("my_table", values, selection, selectionArgs);
  • 1
  • 2
  • 3
  • 4
  • 5

6. 删除数据: 使用 delete() 方法删除数据。

String selection = "name=?";
String[] selectionArgs = {"John"};
int rowsDeleted = db.delete("my_table", selection, selectionArgs);
  • 1
  • 2
  • 3

7. 执行自定义 SQL 语句: 使用 execSQL() 方法执行自定义的 SQL 语句。

String customSQL = "DELETE FROM my_table WHERE age < 30";
db.execSQL(customSQL);
  • 1
  • 2

8. 事务操作: 使用 beginTransaction()setTransactionSuccessful()endTransaction() 来管理事务。

db.beginTransaction();
try {
    // 执行一系列数据库操作
    db.setTransactionSuccessful();
} finally {
    db.endTransaction();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

9. 关闭数据库连接: 在不再需要数据库连接时,应该及时关闭它。

db.close();
  • 1

以上是关于 SQLiteDatabase 的基本知识和示例代码。在实际应用中,你需要根据具体需求执行插入、查询、更新和删除等操作,并确保在事务中管理数据库操作以确保数据的一致性。请根据你的应用需求灵活使用这些方法。

SQLite 支持数据类型

数据类型说明
INTEGER用于存储整数值,可以是有符号整数或无符号整数。SQLite会自动选择适当的整数存储大小。
REAL用于存储浮点数值,通常用于存储小数或科学计数法表示的数值。
TEXT用于存储文本字符串,可以存储任意文本数据,包括字符、数字、日期、时间等。
BLOB用于存储二进制数据,可以存储任意二进制数据,如图像、音频、视频等。
NUMERIC用于存储数字数据,SQLite会根据数据的格式自动选择INTEGER、REAL或TEXT类型。
DATE/TIME虽然SQLite没有专门的DATE和TIME数据类型,但可以使用TEXT或INTEGER来存储日期和时间,并通过函数进行解析和格式化。
BOOLEANSQLite没有内置的BOOLEAN类型,但通常使用INTEGER来表示布尔值,0表示假(false),非零值表示真(true)。

SQLite的动态类型允许在同一列中存储不同数据类型的值,但最终的数据类型会根据存储的实际值确定。这种灵活性有时能提供方便,但在处理数据类型一致性时需要特别注意。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/267253
推荐阅读
相关标签
  

闽ICP备14008679号