Androidのデータベースのテーブル内に変更を加える方法

AndroidではSQLiteOpenHelperクラスを使用して、データベースの作成および更新を管理できます。データベーステーブルを更新する手順を以下に示します。

  1. SQLiteOpenHelperを継承したクラスを作成し、onCreate()、onUpgrade()メソッドをオーバーライドする。
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);
    }
}
  1. テーブル構造を更新する必要がある場所では、DatabaseHelperインスタンスを作成し、getWritableDatabase()メソッドを呼び出して書き込み可能なデータベースインスタンスを取得すると、onUpgrade()メソッドが自動的に呼び出されます。
DatabaseHelper dbHelper = new DatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();

getWritableDatabase()メソッドを呼び出した際、データベースのバージョン番号が現データベースのバージョン番号を上回ると、onUpgrade()メソッドが起動し、テーブルの更新操作を行う

テーブル構造を更新する際、列の追加、変更、削除にはALTER TABLE文を使用します。尚、元のデータの保持が必要な場合は、一時テーブルを使用したデータ移行または、データベースのバックアップとリストアを使用します。

bannerAds