Saya ingin menyalin tabel yang terdapat dari satu database dan memasukkan ke tabel database lain


96

Saya ingin menyalin skema tabel serta data di dalam tabel itu ke tabel database lain di database lain di server langsung. Bagaimana saya bisa melakukan ini?


menggunakan dua koneksi database dan membaca struktur tabel dari satu dan menjalankan kueri tersebut ke yang lain
Dau

Apakah database ini berada pada instance mysql yang terpisah atau yang sama? Contoh yang berbeda dapat diatur dengan replikasi jika ini adalah proses yang berkelanjutan.
Nick

@ Nick database saya berada di instance mysql yang berbeda. Bisakah Anda menjelaskan cara menyalinnya?
johk95

Jawaban:


218

Jika Anda ingin menyalin tabel dari satu Database ke database lain, Anda cukup melakukan seperti di bawah ini.

CREATE TABLE db2.table LIKE db1.table;
INSERT INTO db2.table SELECT * FROM db1.table;

2
Solusi hebat jika tabel tidak memiliki batasan kunci asing. Saya menggunakan ini untuk membuat salinan seluruh database, bukan hanya satu tabel. Untuk itu saya merekomendasikan menggunakan perintah mysqldump.
thorne51

MySQL sekarang dapat menyimpan data tabel dalam file individual (dan file frm juga per tabel). Pendekatan ini tidak diragukan lagi akan berhasil, tetapi dengan database besar itu lambat. Apakah mungkin ada cara lain?
Alex Kovshovik

1
Ini hanya berfungsi jika database berada di server yang sama.
zgr024

10

atau cukup BUAT TABEL db2.table PILIH * DARI db1.table di MySQL 5


4
Ini tidak menyalin hal-hal seperti indeks. Ini hanya membuat tabel berdasarkan sekumpulan tupel. Anda mungkin tidak ingin melakukan ini.
BenMQ

Ya, kueri ini tidak menyalin indexe
XxXk5XxX

4

Di BASH Anda dapat melakukan:

mysqldump database_1 table | mysql database_2


2

Jika Anda hanya ingin Struktur disalin cukup gunakan

CREATE TABLE Db_Name.table1 LIKE DbName.table2;

Ps> itu tidak akan menyalin skema dan data


1

cukup gunakan -

BUAT TABEL DB2.newtablename SELECT * DARI DB1.existingtablename;


0

Di Commandline:

mysqldump -h localhost -u username -ppassword [SCHEMA] --tables [TABLE] | mysql -h otherhost -u username -ppassword [SCHEMA2]

Ini akan menyalin tabel di dalam SCHEMA di localhost ke SCHEMA2 di host lain.

localhost dan otherhost hanyalah nama host dan mungkin sama atau berbeda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.