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

Sử dụng UNION ALL để chèn bản ghi trong hai bảng với một truy vấn duy nhất trong MYSQL

Đây là truy vấn để tạo bảng đầu tiên.

 mysql> tạo bảng DemoTable1 -> (-> StudentName varchar (20), -> StudentMarks int ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,67 giây) 

Để hiểu khái niệm trên, chúng ta hãy tạo bảng thứ hai.

 mysql> tạo bảng DemoTable2 -> (-> Tên varchar (20) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,61 giây) 

Chèn một số bản ghi vào bảng bằng lệnh chèn -

 mysql> chèn vào các giá trị DemoTable2 ('Chris'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,12 giây) 

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

 mysql> select * from DemoTable2; 

Điều này sẽ tạo ra kết quả sau -

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

Đây là truy vấn để chọn và chèn các bản ghi bằng một truy vấn MySQL duy nhất -

 mysql> insert vào DemoTable1 -> chọn Name, 89 từ DemoTable2 -> union all -> chọn Name, 98 từ DemoTable2; Truy vấn OK, 2 hàng bị ảnh hưởng (0,15 giây) Hồ sơ:2 Bản sao:0 Cảnh báo:0  

Bây giờ bạn có thể chọn các bản ghi từ bảng đầu tiên -

 mysql> select * from DemoTable1; 

Điều này sẽ tạo ra kết quả sau -

 + ------------- + -------------- + | StudentName | StudentMarks | + ------------- + -------------- + | Chris | 89 || Chris | 98 | + ------------- + -------------- + 2 hàng trong bộ (0,00 giây)