Tabel Mysqldump tidak termasuk beberapa bidang

14

Apakah ada cara untuk mysqldump meja tanpa beberapa bidang?

Biarkan saya jelaskan:
Saya memiliki database MySQL tests. Dalam testsSaya memiliki 3 tabel: USER, TOTOdan TATA. Aku hanya ingin mysqldump beberapa bidang meja USER, sehingga tidak termasuk beberapa bidang seperti mail, ip_login, dll

Bagaimana saya bisa melakukan ini?

Tikar
sumber

Jawaban:

13

Coba ini:

SELECT column1, column2, column10
FROM USER
INTO OUTFILE "c:/user.csv"
  FIELDS TERMINATED BY ',' ENCLOSED BY '"'
  LINES TERMINATED BY "\n";

Untuk opsi lebih lanjut baca halaman dokumentasi .

lg_
sumber
8

Ini tidak dapat dilakukan dengan mysqldump secara langsung. Namun, Anda bisa membuat tabel sementara atau tampilan yang tidak berisi data yang dipermasalahkan, lalu membuang data yang dihasilkan. Dalam hal tampilan, saya pikir Anda harus menggunakan INTO OUTFILEdaripada mysqldump untuk mendapatkan data yang Anda inginkan, tetapi menggunakan tampilan daripada tabel sementara memiliki keuntungan karena tidak mengambil ruang tambahan dalam DBMS.

Opsi lainnya adalah membuat parser untuk file untuk menghapus bidang yang tidak Anda inginkan. Singkatnya, ini bisa menjadi rumit dengan sangat cepat — yaitu, itu akan menjadi rumit dengan asumsi Anda ingin membuat parser yang tangguh dalam menghadapi karakter multibyte, lolos dari pemisah string, dll, dll. Tapi untuk yang sepele atau satu kasus penggunaan-waktu, mungkin masih merupakan opsi yang valid.

BMDan
sumber
0

Anda juga dapat menggunakan Phpmyadmin untuk melakukan ini. Buat kueri untuk memilih bidang yang Anda inginkan, lalu pilih fungsi "ekspor" di bagian bawah halaman (ini mengekspor hasil kueri Anda, bukan seluruh tabel), dan pilih opsi "Kustom". Anda kemudian dapat memilih SQL sebagai format Anda - jika mau, Anda dapat membuat serangkaian permintaan UPDATE daripada INSERTS. Sering kali bisa menjadi cara cepat untuk menyelesaikan sesuatu seperti ini.

Menepuk
sumber
0

Banyak alat admin DB memiliki kemampuan untuk melakukan impor kustom. Secara khusus, saya menyelesaikan ini menggunakan Toad untuk MySQL untuk mentransfer data antar tabel menggunakan PK kenaikan otomatis.

Saya menyimpan hasil kueri ke Excel menggunakan Wisaya Ekspor.

Kemudian Anda dapat mengecualikan kolom menggunakan Wisaya Impor dengan mengatur bidang sumber ke: Lewati Kolom ini

impor penyihir

rrhartjr
sumber