Wie exportiere ich bestimmte Zeilen einer MySQL-Tabelle mithilfe der Where-Klausel aus dem PHP-Skript?
Ich habe einen MySQL-Say-Test und m?chte ein PHP-Skript verwenden, um eine importierbare .sql-Datei für Zeilen mit IDs zwischen 10 und 100 zu erstellen.
Ich m?chte eine SQL-Datei test.sql erstellen, die in die MySQL-Datenbank importiert werden kann.
Mein Code:
$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);
Dadurch wird eine test.sql-Datei erstellt, aber wenn ich versuche, sie zu importieren, wird der Fehler Nr. 1064 angezeigt.
Mein Skript erstellt lediglich eine Datei mit Zeilen, die Spaltennamen und Tabellenstruktur enthalten, oder fügt eine Abfrage ein.
以非常簡單的方式轉(zhuǎn)到您的 phpMyAdmin 選擇要導(dǎo)出其特定行的數(shù)據(jù)庫 單擊“SQL”(在數(shù)據(jù)庫上運(yùn)行 SQL 查詢) 編寫sql查詢并執(zhí)行 就像 select * from test table limit 500 現(xiàn)在結(jié)果會(huì)怎樣 就在底部看到“查詢結(jié)果操作” 只需點(diǎn)擊導(dǎo)出
全部完成:-)
正如評(píng)論中提到的,您可以通過以下方式使用 mysqldump。
mysqldump --user=... --password=... --host=... DB_NAME --where=<YOUR CLAUSE> > /path/to/output/file.sql
如果你希望它出現(xiàn)在你的 php 文件中,你可以執(zhí)行以下操作
exec('mysqldump --user=... --password=... --host=... DB_NAME --where=<YOUR CLAUSE> > /path/to/output/file.sql');