Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengeksport Pukal Semua Jadual MySQL ke Fail CSV Menggunakan `mysql` dan `sed`?
Eksport CSV Pukal dengan 'mysqldump'
Dalam bidang pengurusan data MySQL, mengeksport kandungan jadual ke format CSV boleh menjadi tugas penting . Walaupun 'mysqldump' ialah utiliti yang berkuasa untuk sandaran pangkalan data, ia tidak mempunyai pilihan untuk mengeksport secara eksklusif setiap jadual sebagai CSV. Artikel ini meneroka pendekatan alternatif untuk mencapai ini menggunakan gabungan 'mysql' dan pasca pemprosesan.
'mysql' dengan Parameter '-B'
Intinya penyelesaian kami terletak pada memanfaatkan parameter '-B' dalam utiliti 'mysql'. Parameter ini mengarahkan atur cara untuk memaparkan keputusan dalam format yang dibataskan tab. Dengan menyalurkan output melalui 'sed', kami boleh memanipulasi data selanjutnya untuk mencipta fail CSV dengan pengepala.
Lelaran Skrip Bash
Untuk mengeksport semua jadual dalam pangkalan data, kita boleh menggunakan skrip Bash untuk menggelungkan senarai nama jadual. Satu pendekatan ialah menggabungkan arahan berikut:
mysql -u username -ppassword dbname -sN -e "SHOW TABLES;" | \ for tb in $(mysql -u username -ppassword dbname -sN -e "SHOW TABLES;"); do mysql -B -u username -p password database -h dbhost -e "SELECT * FROM $tb;" \ | sed “s/”/\””/g;s/'/\'/;s/\t/\”,\”/g;s/^/\”/;s/$/\”/;s/\n//g” > "$tb.csv" done
Skrip ini mula-mula mendapatkan semula senarai jadual menggunakan 'SHOW TABLES' dan menyimpannya dalam pembolehubah 'tb'. Ia kemudian mengulangi setiap nama jadual dan melaksanakan pertanyaan 'SELECT *' dengan parameter '-B'. Output yang terhasil diproses oleh 'sed' dan disimpan dalam fail CSV yang dinamakan sempena jadual.
Kesimpulan
Dengan menggabungkan parameter '-B' 'mysql ' dan 'sed' pasca pemprosesan, kami boleh mengeksport semua jadual dalam pangkalan data MySQL ke format CSV dengan berkesan. Pendekatan ini memintas batasan 'mysqldump' dan memberikan fleksibiliti yang lebih besar dalam memanipulasi data output.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeksport Pukal Semua Jadual MySQL ke Fail CSV Menggunakan `mysql` dan `sed`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!