Đố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:0Hiể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)