如何在 phpmyadmin 中清空 mysql 数据库
How to empty mysql database in phpmyadmin
我想通过删除所有表来清空 phpmyadmin 中的 mysql 数据库,但是这会产生外键错误。
一个解决方案是按正确的顺序删除表以防止外键错误,但是有没有办法在 phpmyadmin 中自动执行此操作?例如清空数据库的功能?
这里所说的数据库清理是什么意思-
- 您想从数据库中删除所有表并希望数据库为空。
- 或者您想清除所有数据但需要数据库中的所有表完好无损。
在第一种情况下,更好的选择是删除数据库并重新创建它。
或者如果由于任何特定原因您不想删除数据库(因为这样您将丢失所有 triggers/views 等)然后首先通过 show tables 命令获取要删除的表并准备 "drop table table_name;" excel 中的脚本或通过以下命令并通过 phpmyadmin 执行。
SELECT CONCAT("drop table ",table_schema,".",table_name,";") FROM information_schema.TABLES WHERE table_type='BASE TABLE' AND table_schema='my_db';
在第二种情况下,如果您只想清除数据,则可以通过以下命令准备截断脚本,然后通过 phpmyadmin-
执行它
SELECT CONCAT("truncate table ",table_schema,".",table_name,";") 来自 information_schema.TABLES WHERE table_type ='BASE TABLE' 和 table_schema='my_db';
注意:在执行 drop 或 truncate 命令之前执行 set foreign_key_checks=0;
并在执行之后执行 set foreign_key_checks=1;
以避免外键相关问题。
您可以在服务器控制台执行以下命令。
mysql -uroot -p<pass> -Nse 'show tables' database1 | while read table; do mysql -uroot -p<pass> database1 -e "drop table $table"; done
或
mysql -uroot -p<pass> -Nse 'show tables' database1 | while read table; do mysql -uroot -p<pass> database1 -e "truncate table $table"; done
我的回答有点晚了,但很简单而且有效:
- 转到数据库的 tables/structure 视图。
- 向下滚动到末尾,select“选中所有”并选择“with selected”“drop”。
- 禁用复选框“启用外键检查”。
- 单击“是”执行您的查询。
您现在有一个空数据库(数据库仍然存在,并且数据库视图显示“在数据库中找不到表”)。
我想通过删除所有表来清空 phpmyadmin 中的 mysql 数据库,但是这会产生外键错误。
一个解决方案是按正确的顺序删除表以防止外键错误,但是有没有办法在 phpmyadmin 中自动执行此操作?例如清空数据库的功能?
这里所说的数据库清理是什么意思-
- 您想从数据库中删除所有表并希望数据库为空。
- 或者您想清除所有数据但需要数据库中的所有表完好无损。
在第一种情况下,更好的选择是删除数据库并重新创建它。
或者如果由于任何特定原因您不想删除数据库(因为这样您将丢失所有 triggers/views 等)然后首先通过 show tables 命令获取要删除的表并准备 "drop table table_name;" excel 中的脚本或通过以下命令并通过 phpmyadmin 执行。
SELECT CONCAT("drop table ",table_schema,".",table_name,";") FROM information_schema.TABLES WHERE table_type='BASE TABLE' AND table_schema='my_db';
在第二种情况下,如果您只想清除数据,则可以通过以下命令准备截断脚本,然后通过 phpmyadmin-
执行它SELECT CONCAT("truncate table ",table_schema,".",table_name,";") 来自 information_schema.TABLES WHERE table_type ='BASE TABLE' 和 table_schema='my_db';
注意:在执行 drop 或 truncate 命令之前执行 set foreign_key_checks=0;
并在执行之后执行 set foreign_key_checks=1;
以避免外键相关问题。
您可以在服务器控制台执行以下命令。
mysql -uroot -p<pass> -Nse 'show tables' database1 | while read table; do mysql -uroot -p<pass> database1 -e "drop table $table"; done
或
mysql -uroot -p<pass> -Nse 'show tables' database1 | while read table; do mysql -uroot -p<pass> database1 -e "truncate table $table"; done
我的回答有点晚了,但很简单而且有效:
- 转到数据库的 tables/structure 视图。
- 向下滚动到末尾,select“选中所有”并选择“with selected”“drop”。
- 禁用复选框“启用外键检查”。
- 单击“是”执行您的查询。
您现在有一个空数据库(数据库仍然存在,并且数据库视图显示“在数据库中找不到表”)。