删除所有数据库表

时间:2014-03-25 14:41:36

标签: java sqlite

我有一个名为 KG 的数据库。我想使用java删除此数据库中的所有表,然后再次创建它们(目的是截断所有数据。根据stackoverflow中某人的建议删除表)。我需要的是一个可以删除所有表的命令。从this链接我接受了这个命令

  

删除数据库KG

此命令不适合我的情况。有没有其他方法可以删除所有表格?

Editted

我正在使用的代码是

   {
        dbConnect();
        try {
            stmt = c.createStatement();
            sql = "Drop Database KG";
            stmt.executeUpdate(sql);
            c.commit();
            stmt.close();
            c.close();
            System.out.println("Database Deleted!");
        } catch (SQLException e) {
            System.err.println("Delete Database Query: " + sql);
            System.err.println(e.getClass().getName() + ": " + e.getMessage());
            System.exit(0);
        }
   }

public void dbConnect() {
    try {
        Class.forName("org.sqlite.JDBC");
        c = DriverManager.getConnection("jdbc:sqlite:KG.s3db");
        c.setAutoCommit(false);
        System.out.println("Connected");
    } catch (ClassNotFoundException | SQLException e) {
        System.err.println(e.getClass().getName() + ": " + e.getMessage());
        System.exit(0);
    }
}

我得到的错误是

  

删除数据库:删除数据库KG

     

java.sql.SQLException:靠近“数据库”:语法错误

注意:

我已经实现了它,但是通过编写大量的代码行。使用的命令

  

删除表如果存在 tablename

这样做了。

1 个答案:

答案 0 :(得分:2)

您无法删除sqlite数据库。只需删除数据库文件并再次打开数据库。