【问题标题】:how to drop database in sqlite?如何在sqlite中删除数据库?
【发布时间】:2011-03-16 14:43:38
【问题描述】:

我在安卓中使用 SQLite。我想删除数据库。

例如:mysql- drop database dbname

如何在 SQLite 中实现此代码?

【问题讨论】:

    标签: android sqlite


    【解决方案1】:

    要删除您的应用数据库,请尝试以下操作:

     this.deleteDatabase("databasename.db");
    

    这将删除数据库文件

    【讨论】:

    • 您必须有权访问上下文才能执行此操作。
    • +1 答案...我只是想降级不允许的数据库,所以我不得不删除数据库... :)
    • 我知道这有点晚了,但可以降级您的数据库。它只是默认禁用。你需要自己实现它。
    【解决方案2】:

    创建或删除数据库的概念对于像 SQLite 这样的嵌入式数据库引擎没有意义。它只对客户端-服务器数据库系统有意义,例如 MySQL 或 Postgres 使用的。

    要创建一个新数据库,只需执行sqlite_open() 或从命令行sqlite3 databasefilename

    要删除数据库,请删除文件。

    参考:sqlite - Unsupported SQL

    【讨论】:

      【解决方案3】:

      您可以像往常一样通过发出 SQL 命令来删除 tables。如果要删除整个数据库,则必须删除该文件。您可以删除位于

      下的文件

      data/data/com.your.app.name/database/[databasefilename]

      例如,您可以从“Android”类别中名为“FileBrowser”的 Eclipse 视图中执行此操作。或直接在您的模拟器或手机上。

      【讨论】:

        【解决方案4】:

        试试这个:

         context.deleteDatabase(DATABASE_NAME);
        

        How to delete SQLite database from Android programmatically

        【讨论】:

        • .db 是否包含在数据库名称之后?
        【解决方案5】:

        来自http://www.sqlite.org/cvstrac/wiki?p=UnsupportedSql

        要创建一个新数据库,只需执行 sqlite_open()。要删除数据库, 删除文件。

        【讨论】:

          【解决方案6】:

          如果您想以编程方式删除数据库,您可以使用 deleteDatabase from Context 类:

          删除数据库(字符串名称)
          删除与此上下文的应用程序包关联的现有私有 SQLiteDatabase。

          【讨论】:

            【解决方案7】:
            SQLite database FAQ: How do I drop a SQLite database?
            
            People used to working with other databases are used to having a "drop database" command, but in SQLite there is no similar command. The reason? In SQLite there is no "database server" -- SQLite is an embedded database, and your database is entirely contained in one file. So there is no need for a SQLite drop database command.
            
            To "drop" a SQLite database, all you have to do is delete the SQLite database file you were accessing.
            

            http://alvinalexander.com/android/sqlite-drop-database-how复制

            【讨论】:

              【解决方案8】:

              如果你使用 SQLiteOpenHelper 你可以这样做

                      String myPath = DB_PATH + DB_NAME;
                      SQLiteDatabase.deleteDatabase(new File(myPath));
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2015-03-08
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2017-07-12
                相关资源
                最近更新 更多