Export sql to csv [Fermé]

Signaler
-
 sim -
Bonjour à tous,
je cherche un moyen d'exporter une table SQL en CSV.
Je recherche plus précisement une requête sql.
Merci à tous !

3 réponses

Voici un exemple qui fonctionne sous Oracle à partir d'un script (pour d'autres bases, il faudra adapter, il y a des commande spécifiques).

Le 1er SELECT génère la ligne 1 (nom des colonnes)
Le 2ème est un SELECT (ici figuré par des constantes) qui ne retourne qu'une seule colonne issue de la concaténation des différents champs.
Les commandes SET empêchent les affichages indésirables.
La commande SPOOL force l'affichage vers le nom de fichiers spécifié.


----------------------- début du sql -------------------------------------

set echo off;
set head off
set pagesize 0
set feedback off
set termout off


spool MyFile.csv

SELECT '"Titre1";"Titre2";"Titre3"' from dual
;

SELECT
'"'|| 'champ1' ||'";"'
|| 'champ2' ||'";"'
|| 'champ3' ||'"' as lig
FROM
dual
WHERE
1=1
;
spool off;
exit;

---------------------- fin du sql -------------------
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

merci pour cette réponse. Mais je comprends pas vraiment.
Voila ce que j'ai reussi a faire :

<?php

	
		$server="localhost";
		$user="root";
		$password="";
		$db="born2dev";
		
		

$db = mysql_connect($server, $user, $password); // connexion à la base
mysql_select_db($db); // sélection de la base

$req = mysql_query("SELECT * FROM news"); // on sélectionne les enregistrements
$res = count($req);

$file = ("bdd_fichier.xls"); // le fichier doit déjà exister
if(!$myfile = fopen($file, "w")) //on ouvre le fichier
{
print("erreur: ");
print("'$filename' n'existe pas!\n");
exit;
}

WHILE($res!=$i) // 5. chaque fois que "$res" est dif. de "$i", donc qu'il y a un enreg.

{
$numero = mysql_result($req,$i,"***"); // on récupère les champs




//ecriture


fputs($myfile,"$id_com\t $id_news\t $nom\t $email\t $siteweb\t $com\n"); //on insère une tabulation \t pour changer de colonne et un retour chariot \n pour changer de ligne


$i++; // 8. on ajoute un au compteur et on retourne à WHILE
}

//fermeture fichier
fclose($myfile); //on ferme le fichier
echo "<center><h2>La table a été sauvegardée...</h2></center>";

mysql_close(); // 9. on ferme la connexion
?>


<form name="form0">
<center><br><br><input type="button" value="Fermer" onClick="self.close()" name="button3"></center>
</form> 
	
	


Problème : il m'affiche ça :

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in h:\Sites\tests\affichertexte.php on line 35


merci!
personne pour m'aider ?