在java中,如何删除sqlite表?

时间:2011-03-19 18:59:24

标签: java android sqlite

我正在开发Android应用程序。我必须在我的活动中开发一个xml按钮,并构建我的sqlite数据库和表。如何让用户按下按钮删除表格?感谢。

4 个答案:

答案 0 :(得分:38)

没有更多上下文很难回答,但最终的sqlite查询将是:

db.execSQL("DROP TABLE IF EXISTS table_name");

其中db是对SqliteDatabase对象的引用。

答案 1 :(得分:16)

你的问题有些含糊不清。请注意,表格删除与表格 DROPPING 之间存在差异。删除表只会删除其行中的所有数据:

database.delete(TABLE_NAME, null, null);

在此之后,你仍然可以引用该表,因为它仍然存在,但是如果不在sql中使用 CREATE TABLE IF NOT EXISTS 表达式,那么创建一个具有相同名称的新表可能会有问题。

使用 DROP TABLE 会完全删除该表,除非重新创建,否则无法再次引用该表。

正如其他人所指出的,如果您希望将其从数据库中完全删除,这应该有效:

db.execSQL("DROP TABLE IF EXISTS table_Name");

答案 2 :(得分:0)

SQLiteDatabase sdb;
sdb=openOrCreateDatabase("dbname.db", Context.MODE_WORLD_WRITEABLE, null);
sdb.execSQL("DROP TABLE IF EXISTS tablename");

答案 3 :(得分:0)

作为Singleton方法

 // todo DELETE a special field(s)
public boolean deleteFromTable(int yurtId) {
    SQLiteDatabase database = dbHelper.getReadableDatabase();
    final String whereClause = DBHelper.COLUMN_Y_YURT_ID + " =?";
    final String whereArgs[] = {String.valueOf(yurtId)};
    int affectedRows = database.delete(DBHelper.TABLE_NAME_YEMEKCI, whereClause, whereArgs);
    return affectedRows > 0;
}

  // todo DELETE all table 
public boolean deleteTable() {
    SQLiteDatabase database = dbHelper.getReadableDatabase();
    int affectedRows = database.delete(DBHelper.TABLE_NAME_YEMEKCI, null, null);
    return affectedRows > 0;
}