Databestanden importeren (MySQL)
PMA
PHPMyAdmin heeft een hele aardige import-functie. Wat daar zo aardig aan is: Er wordt dynamisch een tabel aangemaakt van (meestal) passende dimensies.
Maar zoals nix in deze wereld perfect is, is ook dit dat niet:
- PMA is niet altijd beschikbaar
- Time out-storingen
- Onduidelijke foutmeldingen.
In zulke gevallen is 't waarschijnlijk handiger om rechtstreeks mbv. SQL te importeren.
Vanuit Excel
Vaak krijg ik data aangeleverd in Excel-formaat. Je weet wel, data nare semi-gesloten format. Hoe daar een mouw aan te passen?
Meestal volg ik de laatste methode hieronder: Ik open het bestand in LibreOffice Calc, en schrijf het weg in ods-formaat. Voilà: Geen Excel meer in the picture.
Add-ons & losse programma'tjes
- MySQL for Excel-addon: Er bestaat een add-on voor Excel om te exporteren naar MySQL [1]. Daar kan ik weinig mee
- Excel2MySQL: Een andere (gratis?) standalone routine, vermoedelijk bedoelt voor eindgebruikers: http://excel2mysql.net/ - Sla ik over
- RazorSQL MySQL Import Tool: http://www.razorsql.com/features/mysql_import.html - Ziet er aardig uit
- SQLyog: Nog een import add-on.
Indirect
- OpenRefine: Veelbelovend, maar geeft bij mij storingen. Het idee zou zijn: Laden in OpenRefine » Extraction » Wegschrijven als tsv-bestand
- CSV: Wegschrijven in CSV-formaat, en dan op een andere manier importeren
- LibreOffice Basic: Bestand opslaan als ods-bestand » Voorbereidend werk doen mbv. macro's (ihb.: Tabbladen samenvoegen) » Wegschrijven als tsv-bestand » Laden met een eigen LOAD INTO-routine in MySQL
LOAD_FILE & SQL
De beperkingen omtrent LOAD DATA
schijnen niet te gelden voor LOAD_FILE
. Hierbij wordt de data in één groot object ingeladen, dus wellicht geschikt om á là PMA dynamisch de bijbehorende tabel te genereren. LOAD_FILE lijkt echter z'n eigen beperkingen te hebben, en tot op heden heb ik het nog niet aan de praat gekregen.
Zie ook
- LibreOffice Basic - Rekenbladen samenvoegen
- LOAD DATA (MySQL) - Standaardmethode voor import in MySQL.
Bronnen
- http://www.mysqltutorial.org/import-csv-file-mysql-table/
- https://dev.mysql.com/doc/mysql-for-excel/en/mysql-for-excel-export.html
- http://stackoverflow.com/questions/1310166/how-to-import-an-excel-file-in-to-a-mysql-database
- http://forums.mysql.com/read.php?32,216343,216344#msg-216344 - MySQL Forums :: Data Warehouse :: import excel file into mysql table
- http://excel2mysql.net/
- https://www.quora.com/How-can-I-import-Excel-data-into-MySQL - Behandelt verschillende methodes
Merge Calc sheets
- https://ask.libreoffice.org/en/question/38010/merge-multiple-spreadsheets-files-into-one/
- http://superuser.com/questions/304899/how-can-i-merge-hundreds-of-excel-spreadsheet-files - Voorbeeld VBA-code in Excel
- https://ask.libreoffice.org/en/question/31401/calc-how-to-combine-multiple-tables-in-different-sheets-into-a-new-one/ → Aardige oplossing
- https://ask.libreoffice.org/en/question/16604/how-do-i-access-the-current-sheet-name-in-formula-to-use-in-indirect/ - Read name current sheet
Automate in Calc
Import MySQL
Beperkingen stored procedures