24

I want my users to be able to reset the application, then I need to reset the SQLite database that I have created. How can I do that? I want to reset the database or delete and recreate the database.

Roland
  • 826
  • 2
  • 9
  • 24

6 Answers6

16

Just delete your database by

context.deleteDatabase(DATABASE_NAME);

Please make sure to close your database before deleting.

Linga
  • 10,379
  • 10
  • 52
  • 104
9

Bit late but this can help other people

public void clearDatabase(String TABLE_NAME) {  
   String clearDBQuery = "DELETE FROM "+TABLE_NAME;  
   db.execSQL(clearDBQuery);  
   }  

This should remove all the rows from the table refer documentation of SQLite database here!

RamIndani
  • 678
  • 8
  • 12
3

Working for me.

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXISTS TABLE_NAME");
    onCreate(db);
}
user3307005
  • 216
  • 4
  • 12
2

Just drop tables from database

db.execSQL("DROP TABLE "+TABLENAME);

and again create the table in same database.

greeness
  • 15,956
  • 5
  • 50
  • 80
Prateek
  • 306
  • 4
  • 17
1

You can delete the content of all your tables using delete from table where 1=1, or you can call your database onCreate method again

Giacomoni
  • 1,468
  • 13
  • 18
  • Calling onCreate worked for me. I passed getWritableDatabase() from my SqlLiteOpenHelper sublass as the onCreate parameter btw. – Shane Sepac Aug 29 '17 at 22:35
0

There are two option to clear the table from the database

Firstly

If you wan to delete the data on specific row you need to add this code in the database class

    public Boolean specification(int id, String table_name)
     {
         return db.delete(table_name, KEY_ID + "=" + id, null) > 0;
     }

and add the below code when you want to perform this action

  db.deleteSpecificOrder(id, "table_orders");

Secondly

If you want to delete all the data from th table then you just need to add below code into your database

public void clearDatabase(String TABLE_NAME) {
    db = this.getReadableDatabase();
    String clearDBQuery = "DELETE FROM " + TABLE_NAME;
    db.execSQL(clearDBQuery);
}

and then add the below line where you want to perform that action

 db.clearDatabase("table_food_items");

I Hope that will help you

Muhammad Yaseen
  • 278
  • 2
  • 12