Thư mục bài viết
Làm thế nào để tạo/xóa bảng tạm thời trong MySQL ? Mục đích của bảng tạm thời trong MySQL là gì?
Bảng tạm thời MySQL
Các bảng tạm thời của MySQL rất hữu ích khi chúng ta cần lưu trữ một số dữ liệu tạm thời.Bảng tạm thời chỉ hiển thị trong kết nối hiện tại. Khi kết nối bị đóng, Mysql sẽ tự động xóa bảng và giải phóng tất cả dung lượng.
Bảng tạm thời được thêm vào trong MySQL phiên bản 3.23. Nếu phiên bản MySQL của bạn thấp hơn 3.23, bạn sẽ không thể sử dụng bảng tạm thời của MySQL. Tuy nhiên, các phiên bản MySQL thấp như vậy hiện nay rất hiếm khi được sử dụng.
Bảng tạm thời của MySQL chỉ hiển thị với kết nối hiện tại. Nếu bạn sử dụng tập lệnh PHP để tạo bảng tạm thời MySQL, bảng tạm thời sẽ tự động bị hủy bất cứ khi nào tập lệnh PHP được thực thi.
Nếu bạn sử dụng một chương trình khách MySQL khác kết nối với máy chủ cơ sở dữ liệu MySQL để tạo bảng tạm thời, bảng tạm thời sẽ chỉ bị hủy khi chương trình khách bị đóng. Tất nhiên, bạn cũng có thể hủy nó theo cách thủ công.
Phiên bản
Dưới đây là một ví dụ đơn giản về việc sử dụng bảng tạm thời MySQL, mã SQL sau có thể được áp dụng cho hàm mysql_query () của tập lệnh PHP.
MySQL的> CREATE TEMPORARY TABLE SalesSummary (- > PRODUCT_NAME VARCHAR (50 )NOT NULL - > ,TOTAL_SALES DECIMAL (12 ,2 )NOT NULL DEFAULT 0.00 - > ,avg_unit_price DECIMAL (7 ,2 )NOT NULL DEFAULT 0.00 - > ,total_units_sold INT UNSIGNED NOT NULL DEFAULT 0 ); 查询OK ,0 行受影响(0.00 秒 ) 的MySQL > INSERT INTO SalesSummary - > (PRODUCT_NAME ,TOTAL_SALES ,avg_unit_price ,total_units_sold )- > VALUES - > ('黄瓜' ,100.25 ,90 ,2 ); mysql > SELECT * FROM SalesSummary ; + -------------- + ------------- + ---------------- + --- --------------- + | product_name | total_sales | avg_unit_price | total_units_sold | + -------------- + ------------- + ---------------- + --- --------------- + | 黄瓜 | 100.25 | 90.00 | 2 | + -------------- + ------------- + ---------------- + --- --------------- + 1 行中集合(0.00 秒)
Khi bạn sử dụng lệnh SHOW TABLES để hiển thị danh sách các bảng, bạn sẽ không thấy bảng SalesSummary.
Nếu bạn thoát khỏi phiên MySQL hiện tại và sau đó sử dụng lệnh SELECT để đọc dữ liệu từ bảng tạm thời đã tạo trước đó, bạn sẽ thấy rằng bảng đó không tồn tại trong cơ sở dữ liệu vì bảng tạm thời đã bị hủy khi bạn thoát khỏi phiên.
Thả bảng tạm thời MySQL
Theo mặc định, các bảng tạm thời sẽ tự động bị xóa khi bạn ngắt kết nối khỏi cơ sở dữ liệu. Ngoài ra, bạn có thể xóa thủ công các bảng tạm thời trong phiên MySQL hiện tại bằng lệnh DROP TABLE .
Sau đây là một ví dụ về việc loại bỏ một bảng tạm thời theo cách thủ công:
mysql> CREATE TEMPORARY TABLE SalesSummary ( -> product_name VARCHAR(50) NOT NULL -> , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00 -> , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00 -> , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0 ); Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO SalesSummary -> (product_name, total_sales, avg_unit_price, total_units_sold) -> VALUES -> ('cucumber', 100.25, 90, 2); mysql> SELECT * FROM SalesSummary; +--------------+-------------+----------------+------------------+ | product_name | total_sales | avg_unit_price | total_units_sold | +--------------+-------------+----------------+------------------+ | cucumber | 100.25 | 90.00 | 2 | +--------------+-------------+----------------+------------------+ 1 row in set (0.00 sec) mysql>DROP TABLE SalesSummary ; mysql > SELECT * FROM SalesSummary ; 错误1146 :表'chenweiliang.SalesSummary' 不存在
Hy vọng bài viết "Cách tạo/xóa bảng tạm thời trong MySQL? Vai trò của bảng tạm thời trong MySQL" được chia sẻ trên blog của Chen Weiliang ( https://www.chenweiliang.com/ ) sẽ hữu ích cho bạn.
Bạn có thể thoải mái chia sẻ liên kết bài viết này: https://www.chenweiliang.com/cwl-497.html
