SQL-Datenverwaltung in Excel
Einführung
Ich denke, dass die „MySQL Workbench“ ein großartiges Tool zum Verwalten von Tabellen, Tabellendiagrammen (Beziehungen), Indizes, Ansichten und anderen Objekten ist, aber das Auffüllen und Verwalten von Daten ist dort aufgrund einiger Fehler und des nicht so freundlichen Benutzers ein Albtraum Schnittstelle... also habe ich genau dafür ein Excel-Dokument erstellt
Anwendungsfälle
- wenn Sie Daten in eine „MySQL Workbench“-Tabelle laden (importieren) möchten
- wenn Sie INSERT-Anweisungen für „PhpMyAdmin“ erstellen möchten
In beiden Fällen verwalten Sie die Daten direkt im Excel-Dokument. Dies ist das Tool, das ich für den persönlichen Gebrauch erstellt habe und Option 1 verwende ich nie. Daher gelten dort einige Einschränkungen.
Wie zu verwenden
Generieren der Ausgabedatei
Eine neue Datei wird im selben Verzeichnis erstellt, in dem sich die Excel-Datei befindet.
Im Fall 1:
- Öffnen Sie Excel
- „Dateinamen“ festlegen
- setze „Dateierweiterung“ auf „csv“
- Setzen Sie „SQL-Anweisung verwenden..“ auf „Nein“
- Klicken Sie auf die Schaltfläche „Datei generieren“.
Die Datei kann dann in die MySQL-Workbench importiert werden ( aktuelle Einschränkung – für verschiedene Tabellen müssen Sie unterschiedliche Dateien erstellen!! )
Im Fall 2:
- Öffnen Sie Excel
- „Dateinamen“ festlegen
- setze „Dateierweiterung“ auf „txt“
- Setzen Sie „SQL-Anweisung verwenden..“ auf „Ja“
- Klicken Sie auf die Schaltfläche „Datei generieren“.
Mit dieser Datei können Sie beispielsweise alle SQL-Einfügungen in PHPMyAdmin ausführen.
Arbeitsblätter (Tabellen) erstellen
Das Problem besteht darin, dass Sie beim Ausfüllen der Daten in Excel die genauen Spalten Ihrer Tabellen kennen müssen. Deshalb habe ich eine Hilfsschaltfläche erstellt, die das neue „Arbeitsblatt“ in Excel zusammen mit den Spaltennamen generiert, damit Sie bessere Verwaltungsfunktionen haben.
- Gehen Sie zu „Mysql Workbench“
- Gehen Sie zur Diagrammansicht Ihrer Tabelle
- Klicken Sie mit der rechten Maustaste auf die Tabelle und verwenden Sie die Option „Vorlage in Zwischenablage kopieren“
- Excel-Dokument öffnen
- Fügen Sie die Einfügevorlage in das Feld „Anweisung einfügen“ ein.
- Klicken Sie auf die Schaltfläche „Arbeitsblatt (Tabelle) hinzufügen“.
PS: Eine Schaltfläche „Vorlage in die Zwischenablage kopieren“ generiert immer Daten im Format:
INSERT INTO `DATABASE`.`TABLE` (`COLUMN1`, `COLUMN2`, ...) VALUES (NULL, NULL, NULL, ...);
Wenn Sie die Workbench aus irgendeinem Grund nicht verwenden können, können Sie entweder selbst Excel-Arbeitsblätter erstellen (unter Verwendung der unten aufgeführten Konventionen) ODER selbst eine „Anweisungsvorlage einfügen“ erstellen.
Konventionen
- Excel muss immer ein „Haupt“-Arbeitsblatt haben und dieses muss an erster Stelle in der Liste stehen
- Das Arbeitsblatt (nicht das Hauptblatt) sollte den Namen haben, der mit dem Tabellennamen übereinstimmt, um Daten korrekt zu generieren
- In Nicht-Hauptarbeitsblättern kann Zeile 1 einen Wert haben: NUMBER. Dadurch wird es erzwungen, für den generierten Wert kein einfaches Anführungszeichen zu verwenden
- In Nicht-Hauptarbeitsblättern ist Zeile 2 der Standardwert für Datenwörter. Wenn Sie also keine Werte in Datenzeilen angeben -> wird der Standardwert aus „Zeile 2“ übernommen.
- In Nicht-Hauptarbeitsblättern enthält Zeile 3 nur Spaltennamen in der MySQL-Tabelle. Dies dient nur Ihrem eigenen Komfort. Es hat keinerlei Auswirkungen auf irgendetwas.
- Im Nicht-Hauptarbeitsblatt – Zeile 4+. Dies sind Zeilen mit Ihren Daten.
- Für alle Datenzeilen, in denen Sie nicht „NUMBER“ in Zeile 1 eingeben, schließt das Skript den Wert automatisch in einfache Anführungszeichen ein
- Wenn Sie in Ihrem Datenzellenwert ein doppeltes Anführungszeichen verwenden, wird es automatisch mit dem -Symbol maskiert, sodass „ zu „ wird.
Mitwirken
Wenn Sie ein Entwickler sind, der zum Projekt beitragen möchte – nachdem Sie die VBA in Excel selbst geändert haben – vergessen Sie nicht, das VBA-Modul in eine separate .BAS-Datei zu exportieren und diese ebenfalls zu übernehmen, damit wir den Überblick über die Änderungen behalten.