android SQLiteDatabase
数据类型
null integer real text blob
创建 extends SQLiteOpenHelper
- 构造器 SQLiteOpenHelper (Context context, String name, SQLiteDatabase.CursorFactory factory, int version)
- 第一次创建 onCreate(SQLiteDatabase db)
String sql = "create table if not exists " + TABLE_NAME
+ " (Id integer primary key, CustomName text, OrderPrice integer, Country text)";
sqLiteDatabase.execSQL(sql); - 更新 onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
- 每次成功打开 onOpen(SQLiteDatabase db)
- getReadableDatabase() 创建或者打开一个查询数据库
- getWritableDatabase() 创建或者打开一个可写数据库
操作
anroid.database.sqlite包,用于进行SQLite数据库的增,删,改,查工作
db.beginTransaction();
try {
...
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
- openOrCreateDatabase(String path, SQLiteDatabase.CursorFactory factory)
- beginTransaction(): 开始一个事务
- endTransaction(): 结束一个事务
- execSQL(String sql): 执行给定SQL语句
- close()
- query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy)
- rawQuery(String sql, String[] selectionArgs)
- delete(String table, String whereClause, String[] whereArgs)
- insert(String table, String nullColumnHack, ContentValues values)
- update(String table, ContentValues values, String whereClause, String[] whereArgs):
Cursor
- getCount()
- moveToFirst(), moveToNext(), isAfterLast()
- getColumnNames() getColumnIndex() getXxx()
- requery() close()
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();