recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment exporter des lignes partielles d'une table MySQL à partir de la clause WHERE ?

Comment exporter certaines lignes d'une table MySQL en utilisant la clause Where du script PHP ?

J'ai un test MySQL et je souhaite utiliser un script PHP pour créer un fichier .sql importable pour les lignes avec des identifiants compris entre 10 et 100.

Je souhaite créer un fichier SQL test.sql qui peut être importé dans la base de données MySQL.

Mon 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);

Cela crée un fichier test.sql mais lorsque j'essaie d'importer, il donne l'erreur #1064.

Mon script crée simplement un fichier avec des lignes contenant les noms de colonnes et la structure de la table ou une requête d'insertion.

P粉054616867P粉054616867433 Il y a quelques jours684

répondre à tous(2)je répondrai

  • P粉277305212

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

    Accédez à votre phpMyAdmin de manière très simple Sélectionnez la base de données dont vous souhaitez exporter les lignes spécifiques Cliquez sur SQL (exécutez une requête SQL sur la base de données) Écrivez une requête SQL et exécutez-la Tout comme select * from test table limit 500, quel sera le résultat maintenant ? Il suffit de voir « Opération de résultat de requête » en bas Cliquez simplement sur Exporter

    Tout est fait :-)

    répondre
    0
  • P粉676821490

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

    Comme mentionné dans les commentaires, vous pouvez utiliser mysqldump des manières suivantes.

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

    Si vous souhaitez qu'il apparaisse dans votre fichier php, vous pouvez procéder comme suit

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

    répondre
    0
  • Annulerrépondre