Tabel exporteren naar CSV in MySQL

How Export Table Csv Mysql



CSV-bestand is een veelgebruikte tekstbestandsindeling die door veel toepassingen wordt ondersteund. De volledige vorm van CSV is Comma-Separated Values. Dat betekent dat de gegevens in elke regel van dit bestand worden gescheiden door een komma. Het wordt voornamelijk gebruikt om tabelgegevens 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 applicaties. Maar een CSV-bestand is een betere optie dan het XML-bestand, omdat het minder ruimte en bandbreedte in beslag neemt dan een XML-bestand. U moet gegevens in CSV-indeling van de ene toepassing exporteren voordat u de gegevens in een andere toepassing importeert. MySQL ondersteunt verschillende manieren om gegevens uit databasetabellen te exporteren. CSV-indeling is een manier van hen. Dit artikel toont verschillende manieren om gegevens in CSV-indeling uit de MySQL-databasetabel te exporteren.

Voorwaarde:

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







CREËREN DATABASE bibliotheek;
GEBRUIK MAKEN VAN bibliotheek;

CREËREN TAFEL boeken(
ID kaart INT NIET NUL AUTO_INCREMENT ,
titel varchar (vijftig) NIET NUL ,
auteur varchar (vijftig) NIET NUL ,
uitgeverij varchar (vijftig) NIET NUL ,
HOOFDSLEUTEL (ID kaart)
) MOTOR = INNODB ;

CREËREN TAFEL leners(
ID kaart VARCHAR (vijftig) NIET NUL ,
naam varchar (vijftig) NIET NUL ,
adres varchar (vijftig) NIET NUL ,
e-mail varchar (vijftig) NIET NUL ,
HOOFDSLEUTEL (ID kaart)
);

CREËREN TAFEL book_borrow_info(
lening_id VARCHAR (vijftig),
book_id INT ,
lening_datum DATUM NIET NUL ,
retourdatum DATUM NIET NUL ,
toestand VARCHAR (vijftien) NIET NUL ,
INHOUDSOPGAVE par_ind(book_id),
HOOFDSLEUTEL (lening_id,lening_datum),
VREEMDE SLEUTEL (book_id) REFERENTIES boeken(ID kaart)
AAN VERWIJDEREN CASCADE
AAN UPDATE CASCADE );

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



INSERT NAAR BINNEN boeken WAARDEN
( NUL , 'Om een ​​spotvogel te doden', 'Harper Lee', 'Grand Central Publishing'),
( NUL , 'Honderd jaar eenzaamheid', 'Garcia Márquez', 'Lutfi zkok'),
( NUL , 'Onzichtbare man', 'Ralph Ellison', 'Encyclopadeia Britannica, Inc.');

INSERT NAAR BINNEN leners WAARDEN
('123490', 'Patrick Hout', '34 West Street LANCASTER LA14 9ZH', ' [e-mail beveiligd]'),
('157643', 'Ezra Martin', '10 The Grove BIRMINGHAM B98 1EU', ' [e-mail beveiligd]'),
('146788', 'Frederik Hanson', '85 Highfield Road SHREWSBURY SY46 3ME',
' [e-mail beveiligd]');

INSERT NAAR BINNEN book_borrow_info WAARDEN
('123490', 1, '2020-02-15', '2020-02-25', 'Teruggekeerd'),
('157643', 2, '2020-03-31', '2020-03-10', 'In afwachting'),
('146788', 3, '2020-04-10', '2020-01-20', 'geleend');

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



LATEN ZIEN VARIABELEN LEUK VINDEN 'zeker_het dossier_priv';





De locatie van het bestand is ‘/var/lib/mysql-bestanden/’ . U moet deze locatie gebruiken op het moment dat u de exportopdracht uitvoert.

Gegevens exporteren in CSV-indeling met de instructie INTO OUTFILE:

Elke databasetabel kan worden geëxporteerd met IN OUTFILE uitspraak. Stel, ik wil de gegevens van de boeken tafel. Voer de volgende opdracht uit om de bestaande gegevens van deze tabel te controleren.



KIES * VAN boeken;

Elke bestandsnaam met .csv extensie kan worden ingesteld voor de exportbestandsnaam. Voer de volgende exportopdracht uit om te maken boeken.csv bestand op de locatie, /var/lib/mysql-bestanden/.

KIES titel,auteur,uitgeverij VAN boeken NAAR BINNEN UITBESTAND '/var/lib/mysql-files/books.csv';

Ga naar de exportlocatie om te controleren of het bestand is aangemaakt op not. 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, wordt de waarde in meerdere waarden gescheiden. In de boeken tafel, uitgeverij veld bevat een komma(,) als inhoud in het derde record. Als u de inhoud van het CSV-bestand bekijkt, ziet u dat de inhoud van de uitgever is opgesplitst in twee waarden die niet van toepassing zijn.

Om het bovenstaande probleem op te lossen, kunt u de: boeken tabelgegevens in een CSV-bestand door de benodigde scheidingstekens correct op te geven in de SQL-instructie. Voer de volgende opdracht uit om te exporteren: boeken tafel in books2.csv op de juiste manier in te dienen. Hier worden drie scheidingstekens gebruikt om gegevens correct te exporteren. Dit zijn VELDEN BEINDIGD DOOR , OMSLOTEN DOOR en LIJNEN BEINDIGD DOOR .

KIES titel,auteur,uitgeverij VAN boeken
NAAR BINNEN UITBESTAND '/var/lib/mysql-files/books2.csv'
VELDEN BEINDIGD DOOR ','
OMSLOTEN DOOR '' '
LIJNEN BEINDIGD DOOR 'N';

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

Gegevens exporteren in CSV-indeling met behulp van mysql-client:

De tabelgegevens kunnen worden geëxporteerd naar een CSV-bestand met behulp van mysql-client. De lenerstabel wordt in dit deel van dit artikel geëxporteerd. Voer de volgende opdracht uit om de bestaande inhoud van deze tabel te controleren.

KIES * VAN leners;

mysql verklaring met `maar` commando wordt hier gebruikt om de gegevens te exporteren. Een van de voordelen van deze verklaring is dat u elke locatie en bestandsnaam kunt instellen voor het opslaan van het CSV-bestand zonder de standaardlocatie die in het vorige voorbeeld is gebruikt. Als er geen wachtwoord is voor de rootgebruiker, dan: -P optie zal worden weggelaten. De geëxporteerde locatie is /tmp en bestandsnaam is output.csv hier.

mysql-h localhost-u root-P-En'selecteer * van library.leners' |
sed's/ /,/G' > /tmp/output.csv

Als u de . opent output.csv bestand, dan verschijnt de volgende uitvoer.

Gegevens exporteren in CSV-indeling met phpmyadmin:

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

http://localhost/phpmyadmin

Selecteer de tabel van de database die u wilt exporteren en klik op de Exporteren tabblad vanaf de rechterkant. Selecteer het CSV-formaat uit de Formaat vervolgkeuzelijst en klik op de Go knop. Selecteer de Sla bestand op optie en druk op de OK knop.


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

Conclusie:

De taak voor gegevensuitwisseling tussen de toepassingen wordt eenvoudiger door de exportfunctie van de databaseserver te gebruiken. MySQL ondersteunt vele andere bestandsindelingen om tabelgegevens te exporteren. de sql bestandsformaat wordt voornamelijk gebruikt om gegevens tussen dezelfde databaseservers over te dragen. CSV-indeling is erg handig als u gegevens tussen twee verschillende toepassingen wilt uitwisselen.