Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

สร้าง Temporary Table สำหรับเก็บข้อมูลวันที่ใน MySQL


คุณสมบัติของ Temporary Table

CREATE TEMPORARY TABLE สร้างตารางชั่วคราวที่:

  • มองเห็นได้เฉพาะ Session (Connection) ที่สร้างเท่านั้น
  • ถูกลบอัตโนมัติเมื่อ Session จบสิ้นสุดหรือปิด Connection
  • ไม่กระทบตารางหลักหรือ Session อื่น
  • เหมาะสำหรับการคำนวณระหว่างทาง หรือเก็บข้อมูลชั่วคราว

รูปแบบคำสั่ง

CREATE TEMPORARY TABLE table_name (
    column_name DATETIME
);

ตัวอย่างการใช้งาน

1. สร้าง Temporary Table

mysql> CREATE TEMPORARY TABLE DemoTable (
    -> DueDate DATETIME
    -> );
Query OK, 0 rows affected (0.00 sec)

2. เพิ่มข้อมูลวันที่หลากหลายรูปแบบ

mysql> INSERT INTO DemoTable VALUES(NOW());
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable VALUES(CURDATE());
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable VALUES('2018-01-21');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable VALUES('2019-12-31');
Query OK, 1 row affected (0.00 sec)

3. แสดงข้อมูลทั้งหมด

mysql> 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 |
+---------------------+
4 rows in set (0.00 sec)

ฟังก์ชันวันที่ที่ใช้บ่อย

ฟังก์ชัน คำอธิบาย ตัวอย่างผลลัพธ์
NOW() วันที่และเวลาปัจจุบัน 2019-10-27 18:07:41
CURDATE() วันที่ปัจจุบัน (เวลาเป็น 00:00:00) 2019-10-27 00:00:00
CURTIME() เวลาปัจจุบัน 18:07:41
DATE() ดึงเฉพาะวันที่จาก datetime 2019-10-27

กรณีการใช้งาน Temporary Table

  • เก็บผลลัพธ์ระหว่างการคำนวณซับซ้อน (Intermediate results)
  • แบ่ง Query ใหญ่ๆ ออกเป็นขั้นตอนย่อย
  • ทดสอบ Query โดยไม่กระทบข้อมูลจริง
  • Import/Transform ข้อมูลชั่วคราวก่อน Insert เข้าตารางหลัก