Hoe tabel exporteren naar CSV in MySQL

CSV-bestand is een zeer gemeenschappelijke tekst bestandsformaat dat wordt ondersteund door vele toepassingen. De volledige vorm van CSV is Comma-Separated Values. Dat betekent dat gegevens worden gescheiden door een komma in elke regel van dit bestand. Het wordt vooral gebruikt om gegevens in tabelvorm uit te wisselen tussen verschillende soorten toepassingen die dit bestandsformaat ondersteunen. XML is een ander bestandsformaat dat vaak wordt gebruikt voor het uitwisselen van gegevens tussen toepassingen. Maar CSV-bestand is een betere optie dan het XML-bestand, want het neemt minder ruimte en bandbreedte dan een XML-bestand. U moet gegevens exporteren in CSV-formaat van de ene applicatie voordat u de gegevens importeert in een andere applicatie. MySQL ondersteunt verschillende manieren om gegevens uit databasetabellen te exporteren. CSV-formaat is een van die manieren. Dit artikel toont verschillende manieren om gegevens in CSV-formaat te exporteren uit de MySQL database tabel.

Voorvereiste:

Voordat u een export statement uitvoert, moet u een nieuwe database en tabellen maken of een bestaande database en tabellen selecteren. Voer de volgende opdrachten uit om een bibliotheek-database te maken en drie tabellen met de namen boeken, leners en book_borrow_info.

Voer de volgende SQL-opdrachten uit om gegevens in drie tabellen in te voegen.

Elk geëxporteerd bestand wordt op een bepaalde locatie in MySQL opgeslagen en de locatie wordt opgeslagen in de variabele, “secure_file_priv”. Voer het volgende commando uit om het pad van het bestand te achterhalen. Dit is een alleen-lezen variabele die u niet kunt wijzigen.

SHOW VARIABLES LIKE “secure_file_priv”;

De locatie van het bestand is ‘/var/lib/mysql-files/’. U moet deze locatie gebruiken wanneer u het export-commando uitvoert.

Gegevens exporteren in CSV-indeling met behulp van INTO OUTFILE:

Elke databasetabel kan worden geëxporteerd met behulp van INTO OUTFILE. Stel, ik wil de gegevens van de boekentabel exporteren. Voer de volgende opdracht uit om de bestaande gegevens van deze tabel te controleren.

SELECT * FROM books;

Elke bestandsnaam met .csv-extensie kan worden ingesteld als de bestandsnaam voor de export. Voer de volgende exportopdracht uit om een bestand books.csv te maken op de locatie, /var/lib/mysql-files/.

SELECT title, author, publisher FROM books INTO OUTFILE ‘/var/lib/mysql-files/books.csv’;

Ga naar de exportlocatie om te controleren of het bestand niet is aangemaakt. Klik op het bestand om de inhoud van het bestand weer te geven. Als de komma bestaat als inhoud van een veldwaarde van de tabel dan zal het de waarde scheiden in meerdere waarden. In de tabel boeken bevat het veld uitgever een komma(,) als inhoud in het derde record. Als u de inhoud van het CSV-bestand bekijkt, zult u zien dat de inhoud van het uitgeversveld is gescheiden in twee waarden die niet geschikt zijn.

Om het bovenstaande probleem op te lossen, kunt u de gegevens uit de boekentabel exporteren naar een CSV-bestand door de benodigde scheidingstekens correct op te geven in het SQL-instructie. Voer de volgende opdracht uit om de boekentabel op de juiste manier naar het bestand books2.csv te exporteren. Hier worden drie scheidingstekens gebruikt om de gegevens correct te exporteren. Dit zijn FIELDS TERMINATED BY, ENCLOSED BY en LINES TERMINATED BY.

Nu, als u het books2.csv bestand opent, zult u zien dat het vorige probleem in dit bestand is opgelost en dat de gegevens niet in meerdere waarden zijn verdeeld door komma(,).

Exporteer gegevens in CSV-formaat met behulp van mysql client:

De tabelgegevens kunnen worden geëxporteerd naar een CSV-bestand met behulp van mysql client. The borrowers table is exported in this part of this article. Run the following command to check the existing content of this table.

SELECT * FROM borrowers;

mysql statement with `sed` command is used here to export the data. One of the benefits of this statement is that you can set any location and filename for storing the CSV file without the default location that is used in the previous example. If there is no password for the root user then -p option will be omitted. The exported location is /tmp and filename is output.csv here.

mysql -h localhost -u root -p -e ‘select * from library.borrowers’ |
sed ‘s/\t/,/g’ > /tmp/output.csv

If you open the output.csv-bestand opent, wordt de volgende uitvoer weergegeven.

Uitvoeren van gegevens in CSV-formaat met phpmyadmin:

De databasetabel kan heel eenvoudig naar een CSV-bestand worden geëxporteerd met behulp van een hulpprogramma voor databasebeheer. U moet de tool installeren voordat u de export uitvoert. phpmyadmin wordt hier gebruikt voor het exporteren van de tabel naar het CSV-bestand. De geëxporteerde bestandsnaam is hier de naam van de tabel. Start de volgende URL in een willekeurige browser om de bestaande databaselijst van de MySQL-server weer te geven.

Selecteer de tabel van de database die u wilt exporteren en klik op het tabblad Exporteren aan de rechterkant. Selecteer het CSV-formaat uit de vervolgkeuzelijst Formaat en klik op de knop Ga. Selecteer de optie Bestand opslaan en druk op de knop OK.


Het bestand wordt gedownload in de map Downloads. Hier wordt de tabel book_borrow_info geëxporteerd. De CSV-bestandsnaam wordt dus book_borrow_info.csv en de volgende inhoud verschijnt als u het bestand opent.

Conclusie:

De gegevensuitwisseling tussen de toepassingen wordt eenvoudiger door gebruik te maken van de exportfunctie van de databaseserver. MySQL ondersteunt vele andere bestandsformaten om tabelgegevens te exporteren. Het sql-bestandsformaat wordt hoofdzakelijk gebruikt om gegevens tussen dezelfde databaseservers over te dragen. CSV-formaat is zeer nuttig als u gegevens wilt uitwisselen tussen twee verschillende toepassingen.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.