在Android中,可以使用SQLiteOpenHelper類來管理數據庫的創建和更新。以下是更新數據庫表的步驟:
public class DatabaseHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 2;
private static final String DATABASE_NAME = "my_database.db";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 創建表的語句
String createTableQuery = "CREATE TABLE my_table (id INTEGER PRIMARY KEY, name TEXT)";
db.execSQL(createTableQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 更新表的語句
String updateTableQuery = "ALTER TABLE my_table ADD COLUMN age INTEGER";
db.execSQL(updateTableQuery);
}
}
DatabaseHelper dbHelper = new DatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
在調用getWritableDatabase()方法時,如果數據庫版本號比當前數據庫版本號高,就會觸發onUpgrade()方法,從而執行表的更新操作。
注意:在更新表結構時,需要使用ALTER TABLE語句來添加、修改或刪除列。注意保留原有的數據,使用臨時表進行數據遷移,或者使用備份和恢復數據庫的方法。