android.database.sqlite.SQLiteDatabase

Файл базы данных лежит /data/data/ru.ilnurgi1/databases/

class android.database.sqlite.SQLiteDatabase
beginTransaction()

Начинает транзакцияю

Блокирует базу для чтения и записи для других подключений

db.beginTransaction();
// some code
db.setTransactionSuccessful();
db.endTransaction();
db.beginTransaction();
try {
    // some code
    db.setTransactionSuccessful();
} finally {
    db.endTransaction();
}
beginTransactionNonExclusive()

Начинает транзакцияю

Блокирует базу для записи для других подключений

db.beginTransactionNonExclusive();
delete(String tableName, String selection, String[] selectionArgs)

Удаляет записи из БД и возвращает количесвто удаленных записей

int countDelete = db.delete("myTable", null, null);
int countDelete = db.delete("myTable", "id="+id, null);
endTransaction()

Завершает транзакцияю

db.endTransaction();
getVersion()

Возвращает int, версия БД

int dbVersion = db.getVersion();
insert(String tableName, null, ContentValues cv)

Добавляет запись в БД и возвращает его уникальный идентификатор

ContentValues cv = new ContentValues();
cv.put("name", "name");

int createdRowId = db.insert("myTable", null, cv);
query(String tableName, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy)

Возвращает курсор android.database.Cursor выборка данных из БД

Cursor c = db.query("mytable", null, null, null, null, null, null);
Cursor c = db.query(
    "mytable as mt join some table as st on ...",
    null,
    null,
    null,
    null,
    null,
    null);

if (c.moveToFirst()) {
    int nameColIndex = c.getColumnIndex("name");
    do {
        String name = c.getString(nameColIndex)
    } while (c.moveToNext());
}
// достаем записи по условию
Cursor cursor = db.query(
    DB_NAME,
    null,
    COLUMN_ID + " = ?",
    new String[] {String.valueOf(cashAccountId)},
    null,
    null,
    null);

CashAccountModel cashAccount = null;

if (cursor.moveToFirst()) {
    do {
        if (cashAccount != null){
            return null;
        }
        cashAccount = new CashAccountModel(
                cursor.getString(cursor.getColumnIndex(COLUMN_NAME))
        );

    } while (cursor.moveToNext());
}
return cashAccount;
rawQuery(String sqlQuery, String[] selectionArgs)

Выполняет запрос на SQL, возвращает курсор android.database.Cursor

Cursor c = db.rawQuery("select ... where id = ?", new String[] {1});
setTransactionSuccessful()

Подтверждение успешности транзакции, для комита изменении

db.setTransactionSuccessful()
update(String tableName, ContentValues cv, String selection, String[] selectionArgs)

Обновляет записи в БД и возвращает количество обновленных записей

int ipdateCount = db.update("myTable", cv, "id=?", new String[] {id});

android.database.sqlite.SQLiteOpenHelper

class android.database.sqlite.SQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version)
class android.database.sqlite.SQLiteOpenHelperDBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler)

Вспомогательный класс, для реализации работы с БД.

class DBHelper extends SQLiteOpenHelper {}

DBHelper helper = new DBHelper();
close()

Закрывает подключение к БД

helper.close();
getReadableDatabase()

Подключается к бд и возвращает его android.database.sqlite.SQLiteDatabase

БД возвращается только для чтения

SQLiteDatabase db = helper.getReadableDatabase()
getWritableDatabase()

Подключается к бд и возвращает его android.database.sqlite.SQLiteDatabase

БД возвращается как для чтения так и для записи

Если нет свободного места на устройстве, то вызовет исключение

SQLiteDatabase db = helper.getWritableDatabase()
onCreate(SqliteDatabase db)

Обработчик создания БД, если его нет

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL();
}
onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)

Обработчик обновления БД, если версия изменилась

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL();
}