Bảng tạm thời (temporary table) trong MySQL là một bảng chỉ tồn tại trong phiên làm việc hiện tại và sẽ tự động bị xóa khi phiên làm việc kết thúc hoặc khi bạn sử dụng lệnh DROP TABLE
. Bảng tạm thời rất hữu ích cho việc lưu trữ dữ liệu tạm thời mà không ảnh hưởng đến các bảng chính trong cơ sở dữ liệu.
Dưới đây là hướng dẫn về cách thực hiện các hành động trên bảng tạm thời trong MySQL.
1. Tạo Bảng Tạm Thời
Để tạo một bảng tạm thời, bạn có thể sử dụng cú pháp tương tự như khi tạo bảng thông thường, nhưng thêm từ khóa TEMPORARY
.
Cú pháp:
CREATE TEMPORARY TABLE table_name (
column1 datatype,
column2 datatype,
...
);
Ví dụ:
CREATE TEMPORARY TABLE temp_users (
id INT PRIMARY KEY,
name VARCHAR(100)
);
2. Chèn Dữ Liệu vào Bảng Tạm Thời
Sau khi tạo bảng tạm thời, bạn có thể chèn dữ liệu vào nó giống như chèn dữ liệu vào bảng thông thường.
Cú pháp:
INSERT INTO temp_users (id, name)
VALUES (1, 'John Doe'), (2, 'Jane Doe');
3. Truy Vấn Dữ Liệu từ Bảng Tạm Thời
Bạn có thể thực hiện các truy vấn như SELECT
, UPDATE
, và DELETE
trên bảng tạm thời giống như trên bảng thông thường.
Ví dụ Truy Vấn:
SELECT * FROM temp_users;
Ví dụ Cập Nhật:
UPDATE temp_users
SET name = 'John Smith'
WHERE id = 1;
Ví dụ Xóa:
DELETE FROM temp_users
WHERE id = 2;
4. Xóa Bảng Tạm Thời
Nếu bạn muốn xóa bảng tạm thời trước khi phiên làm việc kết thúc, bạn có thể sử dụng lệnh DROP TABLE
.
Cú pháp:
DROP TEMPORARY TABLE IF EXISTS temp_users;
5. Lưu Ý khi Sử Dụng Bảng Tạm Thời
- Tồn Tại Trong Phiên Làm Việc: Bảng tạm thời chỉ tồn tại trong phiên làm việc hiện tại. Nếu bạn mở một phiên kết nối mới tới MySQL, bảng tạm thời sẽ không còn.
- Tên Bảng Tạm Thời: Bạn có thể tạo nhiều bảng tạm thời với cùng một tên trong các phiên làm việc khác nhau mà không gây ra xung đột.
- Phạm Vi: Bảng tạm thời không thể được truy cập bởi các phiên làm việc khác, giúp giữ cho dữ liệu tạm thời được an toàn và không bị xáo trộn bởi các truy vấn bên ngoài.
6. Ví Dụ Tổng Hợp
Dưới đây là một ví dụ tổng hợp để tạo, chèn, truy vấn và xóa bảng tạm thời:
-- Tạo bảng tạm thời
CREATE TEMPORARY TABLE temp_users (
id INT PRIMARY KEY,
name VARCHAR(100)
);
-- Chèn dữ liệu
INSERT INTO temp_users (id, name)
VALUES (1, 'John Doe'), (2, 'Jane Doe');
-- Truy vấn dữ liệu
SELECT * FROM temp_users;
-- Cập nhật dữ liệu
UPDATE temp_users
SET name = 'John Smith'
WHERE id = 1;
-- Xóa bảng tạm thời
DROP TEMPORARY TABLE IF EXISTS temp_users;
Kết Luận
Bảng tạm thời là một công cụ mạnh mẽ trong MySQL để xử lý dữ liệu tạm thời mà không làm ảnh hưởng đến các bảng chính. Bằng cách sử dụng bảng tạm thời, bạn có thể tối ưu hóa quy trình xử lý dữ liệu và thực hiện các phép toán phức tạp mà không làm xáo trộn cấu trúc dữ liệu chính của bạn.