使用PHP将数据从数据库导出到sql文件

时间:2019-08-23 19:46:00

标签: php mysql

我需要将数据库中的数据(仅数据,而不是表或数据库)导出到SQL文件中并保存。如何编写一个做到这一点的PHP函数?在运行特定查询(例如,更新博客文章)时,我想在特定情况下调用此函数。

类似的东西:

/*
* Get the data from the database (already specified) and export it to a SQL file
*
* @param  string $dir Where to store the SQL file. Must be a full path.
* @return void
*/
function export_database_data(string $dir) {
  // some code that gets the data and store it in $data
  // don't know what to do here

  // create/update the file
  file_put_contents("$dir/data_backup.sql", $data);
}

为什么?

(您无需阅读以下内容即可帮助我解决问题。我将其包含在内,因为我确定如果不包含此内容,有人会问它。)

我想要这样做是因为我想要备份数据(仅备份数据;表无关紧要,因为我已经知道如何处理备份数据)。

我这样做是因为我将使用PHP函数exec来运行git命令并在SQL文件中提交更改。最终目标是跟踪数据库中的数据,该数据不会经常更新。我需要SQL文件中的数据,并且我打算使用git,因为它易于访问并可以与他人协作(我认为没有更好的解决方案,因此创建自己的跟踪系统将需要很多工作和时间)。

1 个答案:

答案 0 :(得分:3)

您可以使用PHP mysqldump函数运行exec命令以仅导出数据。例如:

exec('mysqldump -u [user] -p[pass] --no-create-info mydb > mydb.sql');

更多信息: