Sådan eksporteres tabellen til CSV i MySQL

How Export Table Csv Mysql



CSV -fil er et meget almindeligt tekstfilformat, der understøttes af mange applikationer. Den fulde form for CSV er kommaseparerede værdier. Det betyder, at data er adskilt med et komma i hver linje i denne fil. Det bruges hovedsageligt til at udveksle tabeldata mellem forskellige typer applikationer, der understøtter dette filformat. XML er et andet filformat, der normalt bruges til udveksling af data mellem applikationer. Men CSV -fil er en bedre mulighed end XML -filen, fordi den tager mindre plads og båndbredde end en XML -fil. Du skal eksportere data i CSV -format fra et program, før du importerer dataene til et andet program. MySQL understøtter forskellige måder at eksportere data fra databasetabeller på. CSV -format er en af ​​dem. Denne artikel viser forskellige måder at eksportere data i CSV -format fra MySQL -databasetabellen.

Forudsætning:

Inden du udfører en eksportangivelse, skal du oprette en ny database og tabeller eller vælge en eksisterende database og tabeller. Kør følgende kommandoer for at oprette en bibliotek database og tre tabeller navngivet bøger, låntagere og bog_låne_info .







SKAB DATABASE bibliotek;
BRUG bibliotek;

SKAB BORD bøger(
id INT IKKE NUL AUTO_INCREMENT ,
titel varchar (halvtreds) IKKE NUL ,
forfatter varchar (halvtreds) IKKE NUL ,
forlægger varchar (halvtreds) IKKE NUL ,
PRIMÆRNØGLE (id)
) MOTOR = INNODB ;

SKAB BORD låntagere(
id VARCHAR (halvtreds) IKKE NUL ,
navn varchar (halvtreds) IKKE NUL ,
adresse varchar (halvtreds) IKKE NUL ,
e -mail varchar (halvtreds) IKKE NUL ,
PRIMÆRNØGLE (id)
);

SKAB BORD bog_låne_info(
låne_id VARCHAR (halvtreds),
bog_id INT ,
låne_dato DATO IKKE NUL ,
Retur dato DATO IKKE NUL ,
status VARCHAR (femten) IKKE NUL ,
INDEKS par_ind(bog_id),
PRIMÆRNØGLE (låne_id,låne_dato),
FREMMED NØGLE (bog_id) REFERENCER bøger(id)
SLET CASCADE
OPDATER CASCADE );

Kør følgende SQL -kommandoer for at indsætte nogle data i tre tabeller.



INDSÆT IND I bøger VÆRDIER
( NUL , 'At dræbe en drossel', 'Harper Lee', 'Grand Central Publishing'),
( NUL , 'Hundrede års ensomhed', 'Garcia Marquez', 'Lutfi Ozkok'),
( NUL , 'Usynlig mand', 'Ralph Ellison', 'Encyclopadeia Britannica, Inc.');

INDSÆT IND I låntagere VÆRDIER
('123490', 'Patrick Wood', '34 West Street LANCASTER LA14 9ZH ', '[email protected]'),
('157643', 'Ezra Martin', '10 The Grove BIRMINGHAM B98 1EU ', '[email protected]'),
('146788', 'Frederick Hanson', '85 Highfield Road SHREWSBURY SY46 3ME ',
'[email protected]');

INDSÆT IND I bog_låne_info VÆRDIER
('123490', 1, '2020-02-15', '2020-02-25', 'Vendt tilbage'),
('157643', 2, '2020-03-31', '2020-03-10', 'Verserende'),
('146788', 3, '2020-04-10', '2020-01-20', 'Lånte');

Hver eksporteret fil gemmes på et bestemt sted i MySQL, og placeringen er gemt i variablen, secure_file_priv . Kør følgende kommando for at finde stien til filen. Dette er en skrivebeskyttet variabel, som du ikke kan ændre.



AT VISE VARIABLER SYNES GODT OM 'sikker_fil_priv ';





Filens placering er ‘/Var/lib/mysql-files/’ . Du skal bruge denne placering på tidspunktet for eksportkommandoen.

Eksporter data i CSV -format ved hjælp af INTO OUTFILE -sætning:

Enhver databasetabel kan eksporteres ved hjælp af I UDFIL udmelding. Antag, at jeg vil eksportere dataene fra bøger bord. Kør følgende kommando for at kontrollere de eksisterende data i denne tabel.



VÆLG * FRA bøger;

Ethvert filnavn med .csv udvidelse kan indstilles til eksportfilnavnet. Kør følgende eksportkommando for at oprette bøger.csv fil på stedet, /var/lib/mysql-files/.

VÆLG titel,forfatter,forlægger FRA bøger IND I OUTFILE '/var/lib/mysql-files/books.csv';

Gå til eksportplaceringen for at kontrollere, at filen er oprettet den ikke. Klik på filen for at få vist filens indhold. Hvis kommaet findes som et indhold af en hvilken som helst feltværdi i tabellen, vil det opdele værdien i flere værdier. I bøger bord, forlægger feltet indeholder et komma (,) som indhold i den tredje post. Hvis du undersøger indholdet i CSV -filen, vil du se, at udgiverindholdet er adskilt i to værdier, der ikke er relevante.

For at løse ovenstående problem kan du eksportere bøger tabel data ind i en CSV -fil ved at angive de nødvendige afgrænsere korrekt i SQL -sætningen. Kør følgende kommando for at eksportere bøger bord ind bøger2.csv fil korrekt. Her bruges tre afgrænsere til at eksportere data korrekt. Disse er FELTER AFSLUTTET AF , LUKKET AF og LINJER AFSLUTTET AF .

VÆLG titel,forfatter,forlægger FRA bøger
IND I OUTFILE '/var/lib/mysql-files/books2.csv'
FELTER AFSLUTTET AF ','
LUKKET AF '' '
LINJER AFSLUTTET AF ' n';

Nu, hvis du åbner bøger2.csv fil, vil du se, at det tidligere problem er løst i denne fil, og dataene vil komma (,) er ikke opdelt i flere værdier.

Eksporter data i CSV -format ved hjælp af mysql -klient:

Tabeldataene kan eksporteres til en CSV -fil ved hjælp af mysql -klient. Låntabellen eksporteres i denne del af denne artikel. Kør følgende kommando for at kontrollere det eksisterende indhold i denne tabel.

VÆLG * FRA låntagere;

mysql erklæring med 'men' kommando bruges her til at eksportere dataene. En af fordelene ved denne erklæring er, at du kan angive enhver placering og filnavn til lagring af CSV -filen uden den standardplacering, der bruges i det foregående eksempel. Hvis der ikke er nogen adgangskode til rodbrugeren -s valgmulighed udelades. Den eksporterede placering er /tmp og filnavn er output.csv her.

mysql-h localhost-du rod-s-Og'vælg * fra bibliotek. låntagere' |
sed's/ t/,/g ' > /tmp/output.csv

Hvis du åbner output.csv fil, vises følgende output.

Eksporter data i CSV -format ved hjælp af phpmyadmin:

Databasetabellen kan meget let eksporteres til CSV -fil ved hjælp af et hvilket som helst databaseadministrativt værktøj. Du skal installere værktøjet, før du eksporterer. phpmyadmin bruges her til at eksportere tabellen til CSV -filen. Her vil det eksporterede filnavn være navnet på tabellen. Kør følgende URL i enhver browser for at få vist den eksisterende databaseliste over MySQL -serveren.

http: // localhost/phpmyadmin

Vælg tabellen over den database, du vil eksportere, og klik på Eksport fane fra højre side. Vælg CSV -formatet fra Format rulleliste og klik på knap. Vælg Gem filen valgmulighed, og tryk på OK knap.


Filen vil blive downloadet i Downloads folder. Her, bog_låne_info tabellen eksporteres. Så CSV -filnavnet bliver book_lorrow_info.csv og følgende indhold vises, hvis du åbner filen.

Konklusion:

Dataudvekslingsopgaven mellem applikationerne bliver lettere ved at bruge eksportfunktionen på databaseserveren. MySQL understøtter mange andre filformater til eksport af tabeldata. Den sql filformat bruges hovedsageligt til at overføre data mellem de samme databaseservere. CSV -format er meget nyttigt, hvis du vil udveksle data mellem to forskellige applikationer.