如何在不删除数据库本身的情况下删除数据库中的所有表?
2022-08-30 18:53:20
我想从数据库中删除所有表,但不删除数据库本身。可能吗?我只是在寻找比删除数据库并再次创建数据库更短的方法。谢谢!
我想从数据库中删除所有表,但不删除数据库本身。可能吗?我只是在寻找比删除数据库并再次创建数据库更短的方法。谢谢!
最短的是重新创建数据库。但如果你不想...
这是针对MySQL / PHP的。没有测试,但类似的东西。
$mysqli = new mysqli("host", "my_user", "my_password", "database");
$mysqli->query('SET foreign_key_checks = 0');
if ($result = $mysqli->query("SHOW TABLES"))
{
while($row = $result->fetch_array(MYSQLI_NUM))
{
$mysqli->query('DROP TABLE IF EXISTS '.$row[0]);
}
}
$mysqli->query('SET foreign_key_checks = 1');
$mysqli->close();
没有简单的方法可以做到这一点。您需要提前知道表格是什么:
编辑 您可以使用查询获取此信息SHOW TABLE STATUS
$tables = array('users','otherdata');
foreach($tables as $table){
db.execute("DROP TABLE "+$table);
}
或者你可以删除数据库并将其重新创建为空(这真的不是那么努力!
db.execute('DROP DATABASE SITEDATA');
db.execute('CREATE DATABASE SITEDATA');