Comment exporter certaines lignes d'une table mysql avec clause where à partir d'un script php?
J'ai une table mysql dire test et je veux créer un importables .fichier sql pour les lignes où id est entre 10 et 100 à l'aide de script php.
Je veux créer un fichier sql dire test.sql qui peut être importé dans la base mysql.
Mycode:
$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);
Cette de créer un test.fichier sql mais quand j'essaie de l'importer donne une erreur #1064
Mon script ne crée un fichier avec les lignes avec les colonnes nom et le tableau sturcute ou à la requête d'insertion.
Est-il absolument nécessaire de le faire en php? Est-il une possibilité d'utiliser
Sauf si vous voulez construire les instructions d'insertion vous-même, je ne crois pas que cela est possible.
Vous pourriez exec pour mysqldump si
mysqldump
?Sauf si vous voulez construire les instructions d'insertion vous-même, je ne crois pas que cela est possible.
Vous pourriez exec pour mysqldump si
OriginalL'auteur ehp | 2013-03-08
Vous devez vous connecter pour publier un commentaire.
Comme mentionné dans les commentaires vous pouvez utiliser mysqldump la manière suivante.
Si vous voulez que ce soit dans votre fichier php, vous pouvez effectuer les opérations suivantes
exec('mysqldump --user=root --password= --host=localhost mytest test --where="id compris ENTRE 10 ET 500" > /opt/lampp/htdocs/pratiques/phpTest/test.sql');
il crée un noir de fichier. Rien dans le fichier.
Pouvez-vous vérifier la requête dans la CLAUSE where, les liens suivants vous guideront à travers les electrictoolbox.com/mysqldump-selectively-dump-data et it-iss.com/mysql/mysql-mysqldump-where-clause
Il travaille pour un exemple que j'ai posté mais ne fonctionnent pas si j'utilise ci-dessous: exec('mysqldump-t --user=root --password= --host=localhost mytest test --where="id IN (SELECT st_id de l'état OÙ std_id ENTRE 145000 ET 150769)" > /opt/lampp/htdocs/pratiques/phpTest/fb_posts.sql');
OriginalL'auteur Chipmunk
En très simplement aller à votre phpMyAdmin
sélectionnez votre base de données, dont notamment les lignes que vous souhaitez exporter
cliquez sur "SQL" (Pour Exécuter la requête SQL/requêtes sur la base de données)
Écriture de requêtes sql et de l'exécuter
Comme select * from table de test de limite de 500 maintenant ce que jamais du résultat
Juste en bas voir les résultats de Requête "opérations"
cliquez simplement sur Exportation
Tous fait 🙂
WOW! merci man
c'est la solution la plus simple
Je ne trouve pas le bouton "résultats de la Requête de l'exploitation". Note : j'ai v4.2.1.
"Les résultats de la requête des opérations" est une section lorsque vous exécutez une requête dans phpmyadmin, Juste en dessous du résultat de la requête, vous pouvez voir les résultats de la Requête opérations: Imprimer la vue de l'Exportation <---- je parle de l'Affichage graphique de création de vue
OriginalL'auteur Abhinav bhardwaj
Si vous avez exporté les données à l'aide de OUTFILE ensuite, vous devez l'importer en utilisant INFILE COMMANDE
OU vous pourrez faire un fichier csv à l'aide
et ensuite importer ce fichier.
Espère que cela fonctionne...
J'ai édité le post ... Vous pouvez créer le fichier csv, puis...
$query = 'SELECT * INTO OUTFILE'. $backupFile.' FIELDS TERMINATED BY'. ','.' ÉVENTUELLEMENT FERMÉE PAR'. '"'. 'LINES TERMINATED BY'. '\n'. "À PARTIR de". $tableName.' OÙ id ENTRE 10 ET 500'; mais il ne crée rien.
J'ai édité la requête... s'il vous plaît vérifiez et assurez-Vous d'utiliser le bon chemin .. je l'ai utilisé et ça fonctionne parfaitement ...
Vérifier les autorisations dans le dossier /opt/lampp/htdocs/pratiques/phpTest
OriginalL'auteur alwaysLearn