Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách tạo bảng tạm (temporary table) trong SELECT mà không cần CREATE TABLE riêng?


Dùng CREATE TEMPORARY TABLE ... AS SELECT .... Bảng tạm chỉ hiển thị trong session hiện tại, tự hủy khi session kết thúc.

Tạo bảng gốc

mysql> CREATE TABLE MyTableDemo (Id INT, Name VARCHAR(100));
Query OK, 0 rows affected (0.69 sec)
mysql> INSERT INTO MyTableDemo VALUES(1,'John'),(2,'Carol'),(3,'Bob');
Query OK, 3 rows affected (0.18 sec)

Tạo bảng tạm từ SELECT

mysql> CREATE TEMPORARY TABLE IF NOT EXISTS MyTemporaryTableDemo
    -> AS (SELECT * FROM MyTableDemo);
Query OK, 3 rows affected (0.01 sec)

Kiểm tra

mysql> SELECT * FROM MyTemporaryTableDemo;
+------+-------+
| Id   | Name  |
+------+-------+
| 1    | John  |
| 2    | Carol |
| 3    | Bob   |
+------+-------+
3 rows in set (0.00 sec)

Bảng tạm copy đúng 3 bản ghi từ bảng gốc.