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

Tạo bảng tạm với cột kiểu ngày giờ trong MySQL

Bảng tạm (TEMPORARY TABLE) trong MySQL chỉ tồn tại trong phiên làm việc hiện tại (session) và tự động bị xóa khi ngắt kết nối. Điều này rất hữu ích cho các phép tính trung gian, xử lý dữ liệu tạm thời mà không làm rác cơ sở dữ liệu.

Cú pháp

CREATE TEMPORARY TABLE ten_bang_tam (
    ten_cot DATETIME
);

Ví dụ minh họa

Tạo bảng tạm DemoTable với cột DueDate:

CREATE TEMPORARY TABLE DemoTable (
    DueDate DATETIME
);

Chèn các giá trị ngày giờ khác nhau:

INSERT INTO DemoTable VALUES (NOW());           -- Thời điểm hiện tại (date + time)
INSERT INTO DemoTable VALUES (CURDATE());       -- Ngày hiện tại (time = 00:00:00)
INSERT INTO DemoTable VALUES ('2018-01-21');    -- Ngày cụ thể
INSERT INTO DemoTable VALUES ('2019-12-31');    -- Ngày cụ thể

Kết quả truy vấn

SELECT * FROM DemoTable;
DueDate
2019-10-27 18:07:41
2019-10-27 00:00:00
2018-01-21 00:00:00
2019-12-31 00:00:00

Đặc điểm quan trọng

  • Bảng tạm chỉ hiển thị cho session tạo ra nó; các session khác không thấy.
  • Có thể trùng tên với bảng thường mà không gây xung đột.
  • Tự động xóa khi session kết thúc (hoặc dùng DROP TEMPORARY TABLE để xóa thủ công).
  • Không thể tham chiếu bảng tạm nhiều lần trong cùng một truy vấn (trước MySQL 8.0.13).

Ứng dụng thực tế: Lưu trữ kết quả trung gian của stored procedure, xử lý batch data, hoặc chia nhỏ truy vấn phức tạp.