我有一个名为 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
这样做了。
答案 0 :(得分:2)
您无法删除sqlite数据库。只需删除数据库文件并再次打开数据库。