Databestanden importeren (MySQL): verschil tussen versies
(6 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 1: | Regel 1: | ||
+ | This might be what I've been looking for: https://sqlizer.io/ | ||
+ | |||
== PMA == | == PMA == | ||
Regel 30: | Regel 32: | ||
* '''[[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 | * '''[[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 - LOAD DATA == |
+ | |||
+ | ''LOAD DATA'' is het standaardcommando om te importeren. Helaas kun je het niet toepassen in sprocs; alleen in losse SQL-scripts. | ||
+ | |||
+ | Zie [[LOAD DATA (MySQL)]] voor details. | ||
+ | |||
+ | == SQL - LOAD_FILE == | ||
De beperkingen omtrent <code>LOAD DATA</code> schijnen niet te gelden voor <code>LOAD_FILE</code>. 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. | De beperkingen omtrent <code>LOAD DATA</code> schijnen niet te gelden voor <code>LOAD_FILE</code>. 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. | ||
Regel 38: | Regel 46: | ||
* [[LibreOffice Basic]] - Rekenbladen samenvoegen | * [[LibreOffice Basic]] - Rekenbladen samenvoegen | ||
* [[LOAD DATA (MySQL)]] - Standaardmethode voor import in MySQL. | * [[LOAD DATA (MySQL)]] - Standaardmethode voor import in MySQL. | ||
+ | * [[Opmaak tekstbestanden]] | ||
== Bronnen == | == Bronnen == |
Huidige versie van 20 dec 2022 om 12:36
This might be what I've been looking for: https://sqlizer.io/
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
SQL - LOAD DATA
LOAD DATA is het standaardcommando om te importeren. Helaas kun je het niet toepassen in sprocs; alleen in losse SQL-scripts.
Zie LOAD DATA (MySQL) voor details.
SQL - LOAD_FILE
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.
- Opmaak tekstbestanden
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