[Android Studio] テーブルに行を追加する(INSERT)

どうも、tatsuです!

今日は、テーブルに行を追加する(INSERT)方法を説明します。

※この記事で使用しているAndroid Studioのバージョンは2.3.3です。

テーブルに行を追加する(INSERT)

テーブルを作成したら、テーブルに対して様々な命令をすることになると思います。
今回は命令の内の1つである、行の追加について説明します。
今回はCustomOpenHelper.javaクラスのonCreateメソッドに、テーブルに行を追加する処理を実装しました。

CustomOpenHelper.java

CustomOpenHelper.javaは以下の通りです。

public class CustomOpenHelper extends SQLiteOpenHelper {

    // データベース自体の名前(テーブル名ではない)
    static final private String DBName = "TATSU_DB";
    // データベースのバージョン(2,3と挙げていくとonUpgradeメソッドが実行される)
    static final private int VERSION = 1;

    // コンストラクタ 以下のように呼ぶこと
    public CustomOpenHelper(Context context){
        super(context, DBName, null, VERSION);
    }

    // データベースが作成された時に実行される処理
    @Override
    public void onCreate(SQLiteDatabase db) {
        /**
         * テーブルを作成する
         * execSQLメソッドにCREATET TABLE命令を文字列として渡すことで実行される
         * 引数で指定されているものの意味は以下の通り
         * 引数1 ・・・ id:列名 , INTEGER:数値型 , PRIMATY KEY:テーブル内の行で重複無し , AUTOINCREMENT:1から順番に振っていく
         * 引数2 ・・・ name:列名 , TEXT:文字列型
         * 引数3 ・・・ price:列名 , INTEGER:数値型
          */
        db.execSQL("CREATE TABLE FOOD_TABLE (" +
                "id INTEGER PRIMARY KEY AUTOINCREMENT, " +
                "name TEXT, " +
                "price INTEGER)");

        /**
         * FOOD_TABLEに行を追加する
         * VALUESの前と後に()があるが、前の()に列名、後の()に実際入れる値を指定する
         * idは自動で振られるため指定しない
         */
        db.execSQL("INSERT INTO FOOD_TABLE(name, price) VALUES('ラーメン', 700)");
    }

    // データベースをバージョンアップした時に実行される処理
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        /**
         * テーブルを削除する
         */
        db.execSQL("DROP TABLE IF EXISTS FOOD_TABLE");

        // 新しくテーブルを作成する
        onCreate(db);
    }

    // データベースが開かれた時に実行される処理
    @Override
    public void onOpen(SQLiteDatabase db) {
        super.onOpen(db);
    }
}

作成されたテーブル

以下のような行がテーブルに追加されたはずです。

1 個のコメント

  • 他のどのサイトよりもわかりやすくてとても参考になりました!!
    ありがとうございます!!

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です