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
Cũ vẫn chất
-
30 lời chúc sinh nhật chồng yêu ý nghĩa và ngọt ngào
Hôm qua 1 -
Cách khởi động và dừng các dịch vụ trong MS SQL Server
Hôm qua -
Khắc phục lỗi mạng WiFi không hiển thị trên Windows 10
Hôm qua -
Đấu Trường Chân Lý Mobile (TFT Mobile)
-
5 cách tắt Update Windows 11, ngừng cập nhật Win 11
Hôm qua 14 -
200+biệt danh cho người yêu hay và hài hước
Hôm qua 5 -
Cách ẩn tin nhắn Telegram không cần xóa
Hôm qua -
Black Friday là gì? Black Friday 2023 vào ngày nào?
Hôm qua -
Cách viết số mũ trong Excel, viết chỉ số trên, chỉ số dưới trong Excel
Hôm qua -
Cách sửa file MP4 bị hỏng với thủ thuật đơn giản
Hôm qua