搜索

首页  >  问答  >  正文

如何从WHERE子句中导出MySQL表的部分行?

如何从 PHP 脚本中使用 where 子句导出 MySQL 表的某些行?

我有一个 MySQL say 测试,我想使用 PHP 脚本为 id 介于 10 到 100 之间的行创建一个可导入的 .sql 文件。

我想创建一个sql文件test.sql,它可以导入到MySQL数据库。

我的代码:

$con=mysqli_connect("localhost", "root","","mydatabase");

$tableName  = 'test';
$backupFile = '/opt/lampp/htdocs/practices/phpTest/test.sql';
$query      = "SELECT * INTO OUTFILE '$backupFile' FROM $tableName WHERE id BETWEEN 10 AND 500";

$result = mysqli_query($con,$query);

这会创建一个 test.sql 文件,但当我尝试导入时,它会给出错误 #1064。

我的脚本仅创建一个文件,其中包含包含列名称和表结构或插入查询的行。

P粉054616867P粉054616867433 天前683

全部回复(2)我来回复

  • P粉277305212

    P粉2773052122023-10-22 11:09:44

    以非常简单的方式转到您的 phpMyAdmin 选择要导出其特定行的数据库 单击“SQL”(在数据库上运行 SQL 查询) 编写sql查询并执行 就像 select * from test table limit 500 现在结果会怎样 就在底部看到“查询结果操作” 只需点击导出

    全部完成:-)

    回复
    0
  • P粉676821490

    P粉6768214902023-10-22 10:31:41

    正如评论中提到的,您可以通过以下方式使用 mysqldump。

    mysqldump --user=... --password=... --host=... DB_NAME --where=<YOUR CLAUSE> > /path/to/output/file.sql

    如果你希望它出现在你的 php 文件中,你可以执行以下操作

    exec('mysqldump --user=... --password=... --host=... DB_NAME --where=<YOUR CLAUSE> > /path/to/output/file.sql');

    回复
    0
  • 取消回复