SELECT INTO OUTFILE
On januari 20, 2022 by adminSyntax
SELECT ... INTO OUTFILE 'file_name' export_options: ENCLOSED BY 'char'] ] ]
Contents
- Syntax
- Beschrijving
- Karakter-
- Example
- Zie ook
Description
SELECT INTO OUTFILE
schrijft de resulterende rijen naar een bestand, en staat het gebruik van kolom- en rijeindes toe om een bepaald uitvoerformaat op te geven. Standaard worden velden afgesloten met tabs (\t
) en regels met newlines (\n
).
Het bestand mag niet bestaan. Het kan niet worden overschreven. Een gebruiker heeft het FILE privilege nodig om dit statement uit te voeren. Ook heeft MariaDB toestemming nodig om bestanden op de gespecificeerde locatie te schrijven. Als de systeemvariabele secure_file_priv is ingesteld op een niet-lege mapnaam, kan het bestand alleen in die map worden geschreven.
Het LOAD DATA INFILE
statement is een aanvulling op SELECT INTO OUTFILE
.
Character-sets
De CHARACTER SET
clausule specificeert de karakterset waarin de resultaten moeten worden geschreven. Zonder de clausule vindt er geen conversie plaats (de binaire tekenset). In dit geval, als er meerdere karaktersets zijn, zal de uitvoer deze ook bevatten, en kan mogelijk niet gemakkelijk opnieuw worden geladen.
In gevallen waarin u twee servers hebt die verschillende karaktersets gebruiken, kan het gebruik van SELECT INTO OUTFILE
om gegevens van de ene naar de andere over te brengen, onverwachte resultaten hebben. Om ervoor te zorgen dat MariaDB de escape-sequenties correct interpreteert, gebruikt u de CHARACTER SET
-clausule op zowel het SELECT INTO OUTFILE
-instructie als de daaropvolgende LOAD DATA INFILE
-instructie.
Voorbeeld
Het volgende voorbeeld produceert een bestand in het CSV-formaat:
SELECT customer_id, firstname, surname INTO OUTFILE '/exportdata/customers.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM customers;
Zie ook
- SELECT
- LOAD_DATA() functie
- LOAD DATA INFILE
- SELECT INTO Variable
- SELECT INTO DUMPFILE
Geef een antwoord