Java 删除数据库的所有表
我有一个名为KG的数据库。我想使用java删除这个数据库中的所有表,然后再次创建它们(目的是截断所有数据。根据stackoverflow的某人的建议删除表)。我需要的是一个可以删除所有表的命令。我从link得到了这个命令 删除数据库KG 此命令不适用于我的案例。是否有其他方法删除所有表 编辑的 我使用的代码是Java 删除数据库的所有表,java,sqlite,Java,Sqlite,我有一个名为KG的数据库。我想使用java删除这个数据库中的所有表,然后再次创建它们(目的是截断所有数据。根据stackoverflow的某人的建议删除表)。我需要的是一个可以删除所有表的命令。我从link得到了这个命令 删除数据库KG 此命令不适用于我的案例。是否有其他方法删除所有表 编辑的 我使用的代码是 { dbConnect(); try { stmt = c.createStatement(); sq
{
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);
}
}
及
我得到的错误是
删除数据库:删除数据库
java.sql.SQLException:靠近“数据库”:语法错误
注意:
我已经做到了,但通过编写大量代码行。使用命令
如果存在表名,则删除表
在循环中执行此操作。您不能删除sqlite数据库。只需删除数据库文件并再次打开数据库。
删除数据库KG
应该可以工作,但是您实际上是如何运行该命令的?在中,我们可以看到实际的executeUpdate
方法调用,以及导致调用的代码吗?它以什么方式“不起作用”?什么都不做?抛出异常?我不是在做android,这是Win应用程序。如何删除数据库?是否有sql命令或使用java的文件库?我猜您可以将Files.delete(path)与JavaWell一起使用。谢谢
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);
}
}