SELECT INTO OUTFILE
On 20 tammikuun, 2022 by adminSyntax
SELECT ... INTO OUTFILE 'file_name' export_options: ENCLOSED BY 'char'] ] ]
Contents
- Syntax
- Description
- Character-set
- Esimerkki
- Katso myös
Kuvaus
SELECT INTO OUTFILE
kirjoittaa tuloksena olevat rivit tiedostoon, ja sallii sarake- ja rivipäätteiden käytön tietyn tulostusmuodon määrittämiseksi. Oletusarvoisesti kentät lopetetaan tabulaattoreilla (\t
) ja rivit rivinvaihdolla (\n
).
Tiedostoa ei saa olla olemassa. Sitä ei voi korvata. Käyttäjä tarvitsee FILE-oikeudet tämän lausekkeen suorittamiseen. Lisäksi MariaDB tarvitsee oikeuden kirjoittaa tiedostoja määritettyyn sijaintiin. Jos secure_file_priv-järjestelmämuuttuja on asetettu ei-tyhjään hakemistonimeen, tiedosto voidaan kirjoittaa vain kyseiseen hakemistoon.
Lauseke LOAD DATA INFILE
täydentää lauseketta SELECT INTO OUTFILE
.
Character-sets
Lausekkeessa CHARACTER SET
määritetään merkistö, jolla tulokset kirjoitetaan. Ilman lauseketta muunnosta ei tapahdu (binäärinen merkistö). Tässä tapauksessa, jos käytössä on useita merkistöjä, tuloste sisältää myös ne, eikä sitä välttämättä voi helposti ladata uudelleen.
Tapauksissa, joissa on kaksi palvelinta, jotka käyttävät eri merkistöjä, SELECT INTO OUTFILE
:n käyttäminen tietojen siirtämiseen toisesta toiseen voi johtaa odottamattomiin tuloksiin. Varmistaaksesi, että MariaDB tulkitsee pakosekvenssit oikein, käytä CHARACTER SET
-lauseketta sekä SELECT INTO OUTFILE
-lauseessa että sitä seuraavassa LOAD DATA INFILE
-lauseessa.
Esimerkki
Seuraavassa esimerkissä tuotetaan CSV-muotoinen tiedosto:
SELECT customer_id, firstname, surname INTO OUTFILE '/exportdata/customers.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM customers;
Katso myös
- SELECT
- LOAD_DATA()-funktio
- LOAD DATA INFILE
- SELECT INTO Variable
- SELECT INTO DUMPFILE
Vastaa