phpmyadmin 如何在MySQL中删除所有表?

41ik7eoe  于 2022-11-09  发布在  PHP
关注(0)|答案(6)|浏览(252)

我不想删除数据库,
因为我没有在自己的机器上托管网站,
删除数据库将需要重新创建数据库,并需要进行许多设置。
MySQL中是否有一个命令可用于删除特定数据库中的所有表?

编辑

我能做的一切都在phpMyAdmin

jm2pwxwz

jm2pwxwz1#

您在讨论在phpMyAdmin中执行此操作。
我只是不得不这样做,我不知道你使用的是什么版本,但在我的版本中,如果你滚动到表列表的底部,你可以点击“检查所有”,然后在旁边的下拉菜单中,有“与选定:“你可以选择“删除”,它清空所有的表。

wlwcrazw

wlwcrazw2#

您还可以从information_schema数据库生成sql文件:

Select concat('DROP TABLE database_name.', table_name,';') from information_schema.TABLES where table_schema='database_name';

这将给予如下输出:

DROP TABLE database_name.table1;
DROP TABLE database_name.table2;
[...]
DROP TABLE database_name.tableN;
whlutmcx

whlutmcx3#

mysqldump -u[用户名] -p[密码] --添加/删除表--无数据[数据库]| grep ^删除|mysql -u[用户名] -p[密码] [数据库]
Here有更多的方法可以删除所有表而不删除数据库。

bt1cpqcv

bt1cpqcv4#

我不知道有什么能直接满足你的需求。你可以试着做以下事情:
运行以下命令以显示您的drop命令:

mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | 
grep ^DROP

接下来,您可以这样做以实际执行drop命令:

mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | 
grep ^DROP | 
mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
chhkpiq4

chhkpiq45#

$q=mysql_query("SHOW TABLES FROM ".SQL_DATABASE_NAME);

while($r=mysql_fetch_assoc($q)){
    mysql_query("DROP TABLE ".$r["Tables_in_".SQL_DATABASE_NAME]); 
}

对我有用!

m2xkgtsf

m2xkgtsf6#

如果您的表名只有简单的名称(没有空格或其他特殊字符),则此查询可以为您构建整个drop命令:

select concat('drop table ', group_concat(table_name), ';') from information_schema.tables where table_schema='yourdbname';

相关问题