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
-
Cách tạo USB Boot, USB cài Windows bằng Rufus
Hôm qua 5 -
Xóa tận gốc các file "cứng đầu" nhất trên Windows
Hôm qua -
Cách tải video Facebook về máy tính nhanh nhất không cần phần mềm
Hôm qua 16 -
Cách gộp nhiều file Word thành 1 file duy nhất
Hôm qua -
18 động tác đơn giản giúp căng cơ ở từng vị trí trên cơ thể
Hôm qua -
Top ứng dụng chỉnh sửa video miễn phí không dính logo
Hôm qua -
Build đội hình Song Đấu DTCL mùa 11, Song Đấu mùa 11
Hôm qua 1 -
4 bước quan trọng để tạo nhân vật Manga - Anime của riêng bạn
Hôm qua -
Cách tắt âm thanh video tự động phát trên Facebook
Hôm qua -
Cách đánh số trang kiểu đối xứng trên Word
Hôm qua