SQLite數據庫,和其他的SQL數據庫不同, 我們並不需要在手機上另外安裝一個數據庫軟件,Android系統已經集成了這個數據庫,我們無需像 使用其他數據庫軟件(Oracle,MSSQL,MySql等)又要安裝,然后完成相關配置,又要改端口之類的,它是一個輕量級的關系型數據庫,運算速度快,占用資源少,很適合在移動設備上使用, 不僅支持標准SQL語法,還遵循ACID(數據庫事務)原則,無需賬號,使用方便!
SQLiteOpenHelper 抽象類,在這里完成數據庫的命名創建和更新
SQLiteDatabase 通過該類進行增刪改查等操作
Cursor resultset結果集
首先要具體化openhelper那個抽象類
增刪改查數據庫語句:
增:insert into 表名 values (?,?,?)
刪:delete from 表名 where 條件
改:update 表名 set 列名 = ?where 條件
查:select * from 表名
語法與其他數據庫語句基本相同,不多寫了。
示例代碼:
插入數據:
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
db.execSQL("INSERT INTO person(name,phone) values(?,?)",
new String[]{p.getName(),p.getPhone()});
刪除數據:
public void delete(Integer id){
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
db.execSQL("DELETE FROM person WHERE personid = ?",
new String[]{id});}
修改數據:
public void update(Person p){
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
db.execSQL("UPDATE person SET name = ?,phone = ? WHERE personid = ?",
new String[]{p.getName(),p.getPhone(),p.getId()});}
查詢數據:
public Person find(Integer id){
SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM person WHERE personid = ?",
new String[]{id.toString()});
//存在數據才返回true
if(cursor.moveToFirst())
{
int personid = cursor.getInt(cursor.getColumnIndex("personid"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String phone = cursor.getString(cursor.getColumnIndex("phone"));
return new Person(personid,name,phone);
}
cursor.close();
return null;}