首頁  >  問答  >  主體

如何從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粉054616867351 天前580

全部回覆(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
  • 取消回覆