如何从 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粉2773052122023-10-22 11:09:44
以非常简单的方式转到您的 phpMyAdmin 选择要导出其特定行的数据库 单击“SQL”(在数据库上运行 SQL 查询) 编写sql查询并执行 就像 select * from test table limit 500 现在结果会怎样 就在底部看到“查询结果操作” 只需点击导出
全部完成:-)
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');