Bảng tạm TEMPORARY TABLE trong SQL
TEMPORARY TABLE hay còn gọi là bảng tạm là một dạng table đặc biệt được lưu trữ tạm thời và xử lý kết quả trung gian trên SQL bằng việc sử dụng các khả năng như chọn, cập nhật, kết hợp giống như bạn có thể sử dụng với các bảng điển hình trong SQL Server.
Tuy nhiên, bạn nên lưu ý là Temporary Table có thể bị xóa khi Client Session hiện tại kết thúc.
Bảng tạm có sẵn từ phiên bản MySQL 3.23 trở đi. Nếu bạn sử dụng một phiên bản cũ hơn, bạn không thể sử dụng tính năng này, thay vào đó bạn có thể sử dụng các Heap Table.
Như đã đề cập, bảng tạm sẽ chỉ tồn tại khi session là còn tồn tại. Nếu bạn chạy code trong PHP script, bảng tạm sẽ bị hủy tự động khi script kết thúc việc thực thi. Nếu bạn được kết nối với MySQL Database thông qua chương trình MySQL Client thì bảng tạm sẽ tồn tại tới khi bạn đóng Client hoặc hủy bảng.
Ví dụ minh họa cách sử dụng bảng tạm
mysql> CREATE TEMPORARY TABLE DOANHTHU (
-> ten_sanpham VARCHAR(50) NOT NULL
-> , tong_doanhthu DECIMAL(12,2) NOT NULL DEFAULT 0.00
-> , gia_trungbinh DECIMAL(7,2) NOT NULL DEFAULT 0.00
-> , tong_soluong INT UNSIGNED NOT NULL DEFAULT 0 );
Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO DOANHTHU -> (ten_sanpham, tong_doanhthu, gia_trungbinh, tong_soluong) -> VALUES -> ('galaxys10', 100.25, 90, 2); mysql> SELECT * FROM DOANHTHU; +--------------+---------------+----------------+------------------+ | ten_sanpham | tong_doanhthu | gia_trungbinh | tong_soluong | +--------------+---------------+----------------+------------------+ | galaxys10 | 100.25| 90.00 | 2 | +--------------+---------------+----------------+------------------+ 1 row in set (0.00 sec)
Khi bạn thực thi lệnh SHOW TABLES, bảng tạm của bạn sẽ không được liệt kê trong danh sách. Bây giờ, nếu bạn đăng xuất khỏi phiên MySQL và sau đó thực thi một lệnh SELECT, bạn sẽ không tìm thấy dữ liệu trong cơ sở dữ liệu và khi đó bảng tạm của bạn cũng không còn tồn tại.
Xóa bảng tạm trong SQL
Theo mặc định, tất cả các bảng tạm trong MySQL sẽ bị xóa khi kết nối database của bạn chấm dứt. Tuy nhiên, nếu bạn vẫn muốn xóa chúng khi chưa ngắt kết nối thì có thể sử dụng lệnh DROP TABLE.
Sau đây là một ví dụ về xóa một bảng tạm.
mysql> CREATE TEMPORARY TABLE DOANHTHU (
-> ten_sanpham VARCHAR(50) NOT NULL
-> , tong_doanhthu DECIMAL(12,2) NOT NULL DEFAULT 0.00
-> , gia_trungbinh DECIMAL(7,2) NOT NULL DEFAULT 0.00
-> , tong_soluong INT UNSIGNED NOT NULL DEFAULT 0 );
Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO DOANHTHU -> (ten_sanpham, tong_doanhthu, gia_trungbinh, tong_soluong) -> VALUES -> ('galaxys10', 100.25, 90, 2); mysql> SELECT * FROM DOANHTHU; +--------------+---------------+----------------+------------------+ | ten_sanpham | tong_doanhthu | gia_trungbinh | tong_soluong | +--------------+---------------+----------------+------------------+ | galaxys10 | 100.25| 90.00 | 2 | +--------------+---------------+----------------+------------------+ 1 row in set (0.00 sec) mysql> DROP TABLE DOANHTHU; mysql> SELECT * FROM DOANHTHU; ERROR 1146: Table 'QTM.DOANHTHU' doesn't exist
Trong phần tiếp theo, chúng ta sẽ tìm hiểu về Clone Table trong SQL, các bạn nhớ theo dõi nhé.
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:


Cũ vẫn chất
-
Code Tiểu Yêu Tầm Đạo mới nhất
Hôm qua -
DRAM và DRAM-less SSD có gì khác nhau?
Hôm qua -
Cách tắt kiểm tra chính tả trong Word
Hôm qua 1 -
PING là gì? Test PING như thế nào?
Hôm qua -
Gét gô là gì? Thử thách 6 ngày 6 đêm là gì?
Hôm qua 6 -
Các cách làm, tùy chỉnh trong bài sẽ giúp tăng tốc Windows 10 của bạn "nhanh như gió"
Hôm qua 6 -
Cách gỡ huy hiệu Threads khỏi trang cá nhân Instagram
Hôm qua -
Dynamic System Updates là gì?
Hôm qua -
Cách ẩn, hiện ghi chú trong bảng trên Excel
Hôm qua -
Điểm ưu tiên, điểm khuyến khích, khu vực ưu tiên khi xét tuyển năm 2022
Hôm qua