MySQL和PHP中的空数据库?

13 php mysql

是否可以通过使用PHP连接并发出命令来清空整个数据库?

Jak*_*čar 15

如果您拥有权限,最简单的方法是:

DROP DATABASE dbName;
CREATE DATABASE dbName;
USE DATABASE dbName;

另一种方法是查询information_schema数据库中的触发器,存储的例程(过程和函数),表,视图以及可能的其他内容,并单独删除它们.

即使在此之后,您的数据库可能仍然不会与新创建的数据库处于相同的状态,因为它可能具有自定义默认字符集和排序规则集.使用ALTER DATABASE来改变这种状况.

随着功能的不断增加(事件......),您将以这种方式开展越来越多的工作.实际上,完全清空数据库的唯一方法是删除它并重新创建它.

  • 好吧,主题发起者没有说什么,只是他想要一个同名的空数据库,所以它完美地回答了问题。做出可能错误的假设是没有意义的,这就是为什么这个答案从我这里得到了+1。 (2认同)

Jho*_*re- 6

您可以使用表格获取

SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'your db'
Run Code Online (Sandbox Code Playgroud)

截断,

甚至,你可以做

SELECT 'TRUNCATE TABLE ' + table_name + ';' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'your db'
Run Code Online (Sandbox Code Playgroud)

然后迭代结果集,为每条记录执行字符串查询.