Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Chèn nhiều giá trị vào bảng tạm (TEMPORARY TABLE) trong một truy vấn MySQL

Tạo bảng tạm và chèn hàng loạt dữ liệu trong MySQL

Bảng tạm (TEMPORARY TABLE) chỉ tồn tại trong session hiện tại, tự động xóa khi ngắt kết nối. Hỗ trợ chèn nhiều hàng trong một câu lệnh INSERT.

1. Tạo bảng tạm

mysql> CREATE TEMPORARY TABLE DemoTable (
    SerialNumber INT
);

2. Chèn 8 giá trị trong một câu lệnh

mysql> INSERT INTO DemoTable VALUES (1),(2),(3),(4),(5),(6),(7),(8);

Kết quả: Query OK, 8 rows affected

3. Xem dữ liệu

mysql> SELECT * FROM DemoTable;
+--------------+
| SerialNumber |
+--------------+
| 1            |
| 2            |
| 3            |
| 4            |
| 5            |
| 6            |
| 7            |
| 8            |
+--------------+

Đặc điểm bảng TEMPORARY:

  • Chỉ hiển thị trong session tạo ra (connection khác không thấy)
  • Tự động DROP khi session kết thúc
  • Có thể trùng tên với bảng thường (bảng tạm ưu tiên)
  • Không thể tham chiếu 2 lần trong cùng 1 truy vấn (MySQL limitation)
  • Hỗ trợ INDEX, PRIMARY KEY, AUTO_INCREMENT

Cú pháp INSERT nhiều hàng (standard SQL):

INSERT INTO table (col1, col2) VALUES
    (val1, val2), (val3, val4), (val5, val6), ...;

Ứng dụng thực tế:

  • Xử lý trung gian trong stored procedure
  • Lưu kết quả trung gian cho query phức tạp
  • Test/debug không ảnh hưởng dữ liệu chính
  • Import dữ liệu tạm trước khi validate và move sang bảng chính

Lưu ý: MySQL không hỗ trợ CREATE TEMPORARY TABLE ... LIKE (chỉ CREATE TABLE ... LIKE).