Hier wird gezeigt, wie eine Tabelle aus einer Tabellenkalkulation (z. B. LibreOffice Calc, Excel) in SQL Code gewandelt werden kann. Zum Zeitpunkt habe ich keine Extension bzw. kein Plug-In gefunden, welches eine Tabelle ins SQL-Format exportiert. Deshalb wird hier Schritt-für-Schritt erklärt, wie man es schafft!
Für unser Vorhaben müssen wir folgende Schritte durchführen:
Wir benötigen für diese Übung:
Die Übungstabelle Coen-DVDthek.ods sieht wie folgt aus:
A | B | C | D | |
1 | ID | Titel | Umsatz in Mio | Jahr |
2 | 1 | Fargo | 60,7 | 1996 |
3 | 2 | The Big Lebowski | 17,5 | 1998 |
4 | 3 | O Brother where art thou? | 71,9 | 2000 |
5 | 4 | No Country for Old Men | 171,6 | 2007 |
6 | 5 | Burn after Reading | 163,7 | 2008 |
7 | 6 | Hail, Caesar! | 244 | 2016 |
Also ändern wir die Tabelle so, dass sie Vorteilhaft ins CSV Format exportiert bzw. gespeichert werden kann.
Dafür markieren wir die Zellen C2 bis C7, klicken auf die rechte Maustaste und aktivieren Zellen formatieren ...
Den Zellen erklären wir nun, dass sie Englische Zahlen sind - der Beistrich wird durch deshalb einen Punkt ersetzt!
Bei der Gelegenheit ändern wir in der Zelle C1 "Umsatz in Mio" in "Umsatz_in_Mio". Die Tabelle müsste jetzt aussehen:
A | B | C | D | |
1 | ID | Titel | Umsatz_in_Mio | Jahr |
2 | 1 | Fargo | 60.7 | 1996 |
3 | 2 | The Big Lebowski | 17.5 | 1998 |
4 | 3 | O Brother where art thou? | 71.9 | 2000 |
5 | 4 | No Country for Old Men | 171.6 | 2007 |
6 | 5 | Burn after Reading | 163.7 | 2008 |
7 | 6 | Hail, Caesar! | 244 | 2016 |
Wer jetzt kritisch anmerkt, dass in Zelle B7 ein Beistrich in Hail, Ceasar! ist, denkt richtig - weiß aber noch nicht, das nach dem Export alle Texte/Stings in Anführungszeichen exportiert werden. Also sollte uns dieses Detail nicht weiter beschäftigen!
LibreOffice macht uns den Export einfach. Wir müssen nur auf Datei|Speichern unter klicken und das Format CSV(.csv) angeben!
Der Feldtrenner ist ein einfacher Beistrich - der Zeichenketten-Trenner ist der doppelte Apostroph.
Das CSV sieht wie folgt aus:
Zuerst löschen wir die doppelten Anführungszeichen der ersten Zeile. Das geht mit Suchen und Ersetzen, in dem wir als Suche ein " definieren und Ersetzen leer lassen. Wenn der Cursor auf Position 1 (Zeile 1) gesetzt ist, können wir durch ein mehrmaliges Klicken auf Ersetzen die doppelten Anführungszeichen löschen!
Im Anschluss werden wir die öffnenden runden Klammern hinzufügen. Hierfür klicken wir in Kate auf Bearbeiten|Ersetzen bzw. STRG+R
Wir wiederholen das Prozedere für die schließende runde Klammer, nur diesmal mit
Suche: \n
Suche: ),\n
Jetzt starten wir mit der Handarbeit!
Das sieht schon ganz gut aus! Jetzt muss man nur mehr die SQL Befehle INSERT INTO und VALUES anbringen.
Natürlich über der ersten Zeile ein INSERT INTO Filme und unter die Zeile das VALUES
Damit können wir die Tabelle füllen (soeben die Tabelle auch erstellt ist)!
Das Beispiel ist skalierbar - der Lösungsansatz müsste auch für größere Daten-Tabellen Gültigkeit haben!
Wie die Tabelle erstellt wird, hängt stark vom Environment ab. In der Regel sieht die Tabellerstellung so aus:
Natürlich muss eine Datenbank vorhanden sein und aktiviert. Dann kann problemlos der SQL-Code übertragen werden!