2013-05-01 2 views
0

Pour ma classe de base de données, l'enseignant nous a demandé d'utiliser Oracle SQL pour concevoir une application. Parce que j'ai plus d'expérience avec MySQL, il m'a dit que je pouvais l'utiliser à la place.Exécution de requêtes mySQL à partir d'un script

Je veux que mon devoir ressemble le plus possible à son exemple. Ce que son exemple consiste en un run.sql de fichier qui ressemble à ceci:

@start //this runs start.sql which creates the tables 

DESC table_name; //do this for all tables 

@insert //this runs insert.sql that creates dummy data 

SELECT * FROM table_name; //do this for all tables 

@query //this runs query.sql that runs our sample queries 

@drop //this kills all the data 

Est-il possible de faire quelque chose simliar?

À savoir un moyen d'écrire une requête qui appelle des requêtes externes et affiche toutes les données dans un fichier output.txt?

Répondre

1

'source' pour saisir les Utilisation des fichiers * .sql

d'utilisation 'créer la procédure' pour générer la fonction 'drop'

utilisation "dans outfile '/ fichier/chemin';" sur votre sélectionnez pour écrire. Double redirection pour ajouter: "dans le fichier de sortie" >>/file/path '; "

+0

Y a-t-il un moyen de faire quelque chose comme ça? SOURCE run.sql INTO OUTFILE 'output.txt'; – dspiegs

+0

J'ai trouvé cela fonctionne: mysql -p dbname < foo.sql > foo.txt mais ne contient pas toutes les sorties ou jolis caractères. – dspiegs

0

La commande source pour le client de ligne de commande mysql pourrait faire le travail ici:

source start.sql; 

DESC table_name; 

Vous pouvez obtenir plus de commandes avec help.

+0

qui a fonctionné! maintenant juste pour comprendre comment l'obtenir pour imprimer la sortie – dspiegs

+0

Il devrait afficher la sortie de toutes les requêtes qu'il exécute par défaut. Si vous avez besoin de mise en forme, ressemble à @ChrisSM a vous couvert. – tadman

Questions connexes