624 Stimmen

Wie führt man ein SQL-Skript in MySQL aus?

Ich möchte eine Textdatei, die SQL-Abfragen enthält, in MySQL ausführen.

Ich habe versucht, die source /Desktop/test.sql und erhielt die Fehlermeldung:

mysql> . \home\sivakumar\Desktop\test.sql FEHLER: Datei konnte nicht geöffnet werden ' \home\sivakumar\Desktop\test.sql ', Fehler: 2

Haben Sie eine Idee, was ich falsch mache?

40voto

Zac Smith Punkte 1869

Auch ich habe hier nach dieser Antwort gesucht, und ich habe herausgefunden, was bei mir am besten funktioniert: Hinweis: Ich verwende Ubuntu 16.x.x

  1. Zugriff auf mysql mit:

mysql -u <your_user> - p

  1. Geben Sie an der mysql-Eingabeaufforderung ein:

source file_name.sql

Ich hoffe, das hilft.

30voto

Shubham Verma Punkte 7394

Geben Sie den Pfad der .sql-Datei als:

source c:/dump/SQL/file_name.sql;

See In The Image:

26voto

DataGuru Punkte 717

Anstelle der Umleitung würde ich folgendes tun

mysql -h <hostname> -u <username> --password=<password> -D <database> -e 'source <path-to-sql-file>'

Dadurch wird die Datei path-to-sql-file ausgeführt

23voto

Shankar Kalyankar Punkte 241
mysql> source C:\Users\admin\Desktop\fn_Split.sql

Geben Sie keine einfachen Anführungszeichen an.

Wenn der obige Befehl nicht funktioniert, kopieren Sie die Datei auf Laufwerk c: und versuchen Sie es erneut. wie unten gezeigt,

mysql> source C:\fn_Split.sql

17voto

DonkeyKong Punkte 885

Es gibt so viele Möglichkeiten, das zu tun.

From Workbench: File > Run SQL Script -- then follow prompts

From Windows Command Line:
   Option 1: mysql -u usr -p
             mysql> source file_path.sql
   Option 2: mysql -u usr -p '-e source file_path.sql'
   Option 3: mysql -u usr -p < file_path.sql
   Option 4: put multiple 'source' statements inside of file_path.sql (I do this to drop and recreate schemas/databases which requires multiple files to be run)
             mysql -u usr -p < file_path.sql

Wenn Sie in der Befehlszeile Fehler erhalten, vergewissern Sie sich, dass Sie zuvor das Programm

cd {!!>>mysqld.exe home directory here<<!!}
mysqld.exe --initialize 

Dies muss aus dem Verzeichnis mysqld.exe ausgeführt werden, daher die CD.

Ich hoffe, dies ist hilfreich und nicht nur überflüssig.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X