it-swarm.com.de

Wie importiere ich einfach mehrere SQL-Dateien in eine MySQL-Datenbank?

Ich habe mehrere sql-Dateien und möchte importiere alle auf einmal in eine MySQL-Datenbank.

Ich gehe zu PHPMyAdmin, greife auf die Datenbank zu, klicke auf import, wähle eine Datei und importiere sie. Wenn ich mehr als ein paar Dateien habe, dauert es lange.

Ich würde gerne wissen, ob es einen besseren Weg gibt, mehrere Dateien zu importieren, etwa eine Datei, die andere Dateien oder ähnliches importiert.

Ich verwende WAMP und möchte eine Lösung, bei der keine zusätzlichen Programme auf meinem Computer installiert werden muss.

42
Chococroc

Dank BlackCharly habe ich herausgefunden, wie es in Windows gemacht wird. Öffnen Sie ein Terminal, gehen Sie zum Inhaltsordner und schreiben Sie:

copy /b *.sql all_files.sql

Dadurch werden alle Dateien in nur einer zusammengefasst, sodass der Import mit PhpMyAdmin sehr schnell ist

In Linux, wie BlackCharly sagt:

cat *.sql  > all_files.sql

Last but not least, bitte berücksichtigen Sie den @mosh-Kommentar: 

Wenn all_files.sql bereits vorhanden ist, kann dies zu einer rekursiven Kopie führen der datei auf sich selbst ohne ende! Geben Sie das Ergebnis in ein separates Verzeichnis, um sicher zu sein.

84
Chococroc

Dies ist der einfachste Weg, den ich gefunden habe.

In Windows (Powershell):

cat *.sql | C:\wamp64\bin\mysql\mysql5.7.21\bin\mysql.exe -u user -p database

Sie müssen den Pfad zu Ihrem WAMP - MySQL oben eingeben. Ich habe meinen Systempfad verwendet.

Unter Linux (Bash):

cat *.sql | mysql -u user -p database

38
StanleyD
  1. Gehe zu cmd

  2. Geben Sie die Eingabeaufforderung C:\Benutzer\Benutzername> cd [.sql-Tabellenordnerpfad] ein.
    Drücken Sie Enter
    Bsp: C:\Benutzer\Benutzername> CD E:\Projekt\Datenbank

  3. Geben Sie die Eingabeaufforderung ein
    C:\Benutzer\Benutzername> Name des Laufwerks (Verzeichnisses) des SQL-Ordners]
    Drücken Sie Enter
    Ex: C:\Benutzer\Benutzername> E:

  4. Geben Sie den Befehl Eingabeaufforderung für marge all .sql-Datei (Tabelle) in einer einzigen Datei ein
    copy/b * .sql newdatabase.sql
    Drücken Sie Enter
    EX: E:\project\database> copy/b * .sql newdatabase.sql

  5. In Ihrem Verzeichnisordner können Sie Mehrere .sql (Datei) -Tabellen zusammenführen
    Bsp: E:\Projekt\Datenbank

9
PHP Kishan

Ich weiß, es ist etwas mehr als zwei Jahre her ... aber ich suchte nach einer Möglichkeit, dies zu tun, und war nicht sehr zufrieden mit der veröffentlichten Lösung (es funktioniert gut, aber ich wollte etwas mehr Informationen, da der Import geschieht) . Wenn Sie alle SQL-Dateien zu einer Datei zusammenfassen, erhalten Sie keine Fortschrittsaktualisierungen. 

Also suchte ich weiter nach einer Antwort und dachte, dies könnte ein guter Ort sein, um das zu posten, was ich für zukünftige Leute gefunden habe, die dieselbe Antwort suchen. Hier ist eine Befehlszeile in Windows, die mehrere SQL-Dateien aus einem Ordner importiert. Sie führen dies von der Befehlszeile aus in dem Verzeichnis aus, in dem sich mysql.exe befindet. 

for /f %f in ('dir /b <dir>\<mask>') do mysql --user=<user> --password=<password> <dbname> < <dir>\%f

Mit einigen angenommenen Werten (als Beispiel):

for /f %f in ('dir /b c:\sqlbackup\*.sql') do mysql --user=mylogin --password=mypass mydb < c:\sqlbackup\%f

Wenn Sie zwei Sätze von SQL-Sicherungen im Ordner hatten, könnten Sie die * .sql-Datei in etwas spezifischeres ändern (z. B. mydb _ *. Sql).

5
DragonYen

Geben Sie die MySQL-Shell wie folgt ein.

mysql --Host = localhost --user = Benutzername --password --database = db

Verwenden Sie dann den Befehl source und ein Semikolon, um die Befehle zu trennen.

quelldatei1.sql; Quelldatei2; Quelldatei3;

4
Markus Zeller

Speichern Sie diese Datei als .bat und führen Sie sie aus, ändern Sie Variablen in Klammern ...

@echo off
title Mysql Import Script
cd (Folder Name)
 for %%a in (*) do (
     echo Importing File  : %%a 
     mysql -u(username) -p(password)  %%~na < %%a
)
pause

wenn es sich nur um eine Datenbank handelt, ändern Sie (%% ~ na) den Datenbanknamen.

2
Tarek

Die einfachste Lösung ist das Kopieren/Einfügen aller SQL-Dateien in eine.

Sie können kein sql-Markup für den Dateiimport hinzufügen (die importierten Dateien befinden sich auf Ihrem Computer, nicht auf dem Server, und ich glaube nicht, dass MySQL einige import-Markup für externe SQL-Dateien verwaltet). .

0
BlackCharly

Geben Sie einfach den folgenden Befehl in Ihre Eingabeaufforderung ein.

c:/xampp/mysql/bin/sql/ type *.sql > OneFile.sql;
0
Ajay Singh