Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để di chuyển dữ liệu giữa hai bảng với các cột trong các cơ sở dữ liệu MySQL khác nhau?

Đối với điều này, bạn cần sử dụng câu lệnh CHÈN CHỌN. Cú pháp như sau

 CHÈN INTOyourDatabaseName1.yourTableName1 (yourColumnName1, yourColumnName2, .... N) CHỌN yourColumnName1, yourColumnName2, .... N FROMyourdatabaseName2.yourTableName2; 

Ở đây, tôi đang sử dụng hai cơ sở dữ liệu sau

  • mẫu
  • kiểm tra

Hãy để chúng tôi tạo bảng đầu tiên trong cơ sở dữ liệu "thử nghiệm"

 mysql> use test; Database changesmysql> create table send -> (-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar (20) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (1.19 giây)  

Chèn một số bản ghi trong bảng đầu tiên bằng cách sử dụng lệnh chèn. Truy vấn như sau

 mysql> chèn vào giá trị gửi (Tên) ('John'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,20 giây) mysql> chèn vào giá trị gửi (Tên) ('Carol'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,40 giây) 

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select

 mysql> chọn * từ gửi; 

Sau đây là kết quả

 + ---- + ------- + | Id | Tên | + ---- + ------- + | 1 | John || 2 | Carol | + ---- + ------- + 2 hàng trong bộ (0,00 giây) 

Bây giờ, hãy tạo bảng thứ hai trong cơ sở dữ liệu “mẫu”

 mysql> use sample; Database changesmysql> tạo bảng nhận -> (-> UserId int, -> UserName varchar (20) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,59 giây) 

Như bạn có thể thấy ở trên, chúng tôi không có bản ghi trong bảng thứ hai “nhận”.

Bây giờ chúng ta hãy di chuyển dữ liệu giữa 2 bảng có các cột khác nhau trong các cơ sở dữ liệu khác nhau. Truy vấn như sau

 mysql> insert vào sample.receive (UserId, UserName) -> chọn Id, Name from test.send; Truy vấn OK, 2 hàng bị ảnh hưởng (0,21 giây) Bản ghi:2 bản sao:0 Cảnh báo:0 

Hiển thị tất cả các bản ghi từ bảng sample.receive. Truy vấn như sau.

 mysql> chọn * từ nhận; 

Sau đây là kết quả hiển thị chúng tôi đã chuyển thành công ngày từ bảng này sang bảng khác trong các cơ sở dữ liệu khác nhau

 + -------- + ---------- + | UserId | Tên người dùng | + -------- + ---------- + | 1 | John || 2 | Carol | + -------- + ---------- + 2 hàng được thiết lập (0,00 giây)