Cum se exportă un tabel în CSV în MySQL

Fila CSV este un format de fișier text foarte comun, care este acceptat de multe aplicații. Forma completă a CSV este Comma-Separated Values (valori separate prin virgulă). Asta înseamnă că datele sunt separate de o virgulă în fiecare linie a acestui fișier. Este utilizat în principal pentru a face schimb de date tabulare între diferite tipuri de aplicații care acceptă acest format de fișier. XML este un alt format de fișier care este utilizat în mod obișnuit pentru schimbul de date între aplicații. Dar fișierul CSV este o opțiune mai bună decât fișierul XML, deoarece necesită mai puțin spațiu și lățime de bandă decât un fișier XML. Este necesar să exportați datele în format CSV dintr-o aplicație înainte de a le importa în altă aplicație. MySQL acceptă diferite modalități de a exporta date din tabelele bazei de date. Formatul CSV este unul dintre acestea. Acest articol prezintă diferite modalități de a exporta date în format CSV din tabelele bazei de date MySQL.

Precondiții:

Înainte de a executa orice instrucțiune de export, trebuie să creați o nouă bază de date și tabele sau să selectați o bază de date și tabele existente. Executați următoarele comenzi pentru a crea o bază de date de bibliotecă și trei tabele numite books, borrowers și book_borrow_info.

Executați următoarele comenzi SQL pentru a insera unele date în cele trei tabele.

Care fișier exportat se stochează într-o anumită locație în MySQL, iar locația este stocată în variabila, „secure_file_priv”. Rulați următoarea comandă pentru a afla calea fișierului. Aceasta este o variabilă doar pentru citire pe care nu o puteți modifica.

SHOW VARIABLES LIKE „secure_file_priv”;

Locația fișierului este „/var/lib/mysql-files/”. Trebuie să folosiți această locație în momentul executării comenzii de export.

Exportați date în format CSV folosind instrucțiunea INTO OUTFILE:

Chiar orice tabel de bază de date poate fi exportat folosind instrucțiunea INTO OUTFILE. Să presupunem că vreau să export datele din tabelul books. Executați următoarea comandă pentru a verifica datele existente ale acestui tabel.

SELECT * FROM books;

Chiar orice nume de fișier cu extensia .csv poate fi setat pentru numele de fișier de export. Rulați următoarea comandă de export pentru a crea fișierul books.csv în locația,/var/lib/mysql-files/.

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

Vezi locația de export pentru a verifica dacă fișierul este creat pe nu. Faceți clic pe fișier pentru a afișa conținutul acestuia. Dacă virgula există ca și conținut al oricărei valori de câmp din tabel, atunci aceasta va separa valoarea în mai multe valori. În tabelul books, câmpul publisher conține o virgulă(,) ca și conținut în a treia înregistrare. Dacă examinați conținutul fișierului CSV, veți vedea că conținutul editorului este separat în două valori care nu sunt adecvate.

Pentru a rezolva problema de mai sus, puteți exporta datele tabelului books într-un fișier CSV prin specificarea corectă a delimitatorilor necesari în instrucțiunea SQL. Rulați următoarea comandă pentru a exporta în mod corespunzător tabela de cărți în fișierul books2.csv. Aici, sunt utilizați trei delimitatori pentru a exporta datele în mod corespunzător. Aceștia sunt FIELDS TERMINATED BY, ENCLOSED BY și LINES TERMINATED BY.

Acum, dacă deschideți fișierul books2.csv, atunci veți vedea că problema anterioară este rezolvată în acest fișier, iar datele vor virgulă(,) nu sunt împărțite în mai multe valori.

Exportați datele în format CSV folosind clientul mysql:

Datele din tabel pot fi exportate într-un fișier CSV folosind clientul mysql. 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, atunci va apărea următoarea ieșire.

Exportați datele în format CSV folosind phpmyadmin:

Tabloul bazei de date poate fi exportat în fișier CSV foarte ușor folosind orice instrument de administrare a bazei de date. Trebuie să instalați instrumentul înainte de a face exportul. phpmyadmin este utilizat aici pentru a exporta tabelul în fișier CSV. Aici, numele fișierului exportat va fi numele tabelului. Rulați următoarea adresă URL în orice browser pentru a afișa lista bazelor de date existente pe serverul MySQL.

Selectați tabela din baza de date pe care doriți să o exportați și faceți clic pe fila Export din partea dreaptă. Selectați formatul CSV din lista derulantă Format și faceți clic pe butonul Go. Selectați opțiunea Save File (Salvare fișier) și apăsați butonul OK.


Fileul va fi descărcat în folderul Downloads (Descărcări). Aici, tabelul book_borrow_info este exportat. Astfel, numele fișierului CSV va fi book_borrow_info.csv și următorul conținut va apărea dacă deschideți fișierul.

Concluzie:

Tara de schimb de date între aplicații devine mai ușoară prin utilizarea funcției de export a serverului de baze de date. MySQL acceptă multe alte formate de fișiere pentru a exporta datele din tabele. Formatul de fișier sql este utilizat în principal pentru a transfera date între aceleași servere de baze de date. Formatul CSV este foarte util dacă doriți să faceți schimb de date între două aplicații diferite.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.