Latest web development tutorials

MySQL ตารางชั่วคราว

MySQL ตารางชั่วคราวเราจำเป็นต้องบันทึกข้อมูลชั่วคราวบางส่วนเป็นประโยชน์อย่างมาก ตารางชั่วคราวสามารถมองเห็นได้ในการเชื่อมต่อปัจจุบันเมื่อเชื่อมต่อถูกปิด MySQL จะลบตารางโดยอัตโนมัติและปล่อยทุกพื้นที่

ตารางชั่วคราวใน MySQL เวอร์ชั่น 3.23 จะถูกเพิ่มถ้า MySQL รุ่นของคุณก่อนหน้านี้กว่าเวอร์ชั่น 3.23 ไม่สามารถใช้ตารางชั่วคราว MySQL แต่ตอนนี้มีอีกไม่ค่อยใช้งานดังกล่าวเป็นรุ่นที่ต่ำของเซิร์ฟเวอร์ฐานข้อมูล MySQL

MySQL ตารางชั่วคราวเท่านั้นมองเห็นได้ในการเชื่อมต่อปัจจุบันถ้าคุณใช้สคริปต์ MySQL PHP เพื่อสร้างตารางชั่วคราวแล้วเมื่อไม่เรียกใช้สคริปต์ PHP เสร็จสมบูรณ์ตารางชั่วคราวถูกทำลายโดยอัตโนมัติ

ถ้าคุณใช้โปรแกรมไคลเอนต์ MySQL อื่น ๆ ในการเชื่อมต่อเซิร์ฟเวอร์ฐานข้อมูล MySQL เพื่อสร้างตารางชั่วคราวแล้วเท่านั้นเมื่อคุณปิดโปรแกรมไคลเอนต์จะทำลายตารางชั่วคราวของหลักสูตรคุณยังสามารถทำลายตนเอง

ตัวอย่าง

ต่อไปนี้จะแสดงให้เห็นเป็นตัวอย่างที่เรียบง่ายของการใช้งานของตารางชั่วคราว MySQL ที่ SQL รหัสต่อไปนี้สามารถนำไปใช้กับ mysql_query 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
);
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)

เมื่อคุณใช้ตารางคำสั่ง Show เพื่อแสดงรายการของตารางข้อมูลที่คุณจะไม่ได้ดูตาราง SalesSummary

หากคุณออกจากเซสชั่น MySQL ปัจจุบันแล้วใช้คำสั่ง SELECT เพื่ออ่านข้อมูลเดิมสร้างตารางชั่วคราวแล้วคุณจะพบว่าฐานข้อมูลที่ไม่ได้อยู่ในตารางเพราะเมื่อคุณออกจากตารางชั่วคราวได้ถูกทำลาย


ลบ MySQL ตารางชั่วคราว

โดยค่าเริ่มต้นเมื่อคุณตัดการเชื่อมต่อการเชื่อมต่อกับฐานข้อมูลตารางชั่วคราวจะถูกทำลายโดยอัตโนมัติ แน่นอนคุณยังสามารถลบตารางชั่วคราวด้วยตนเองโดยใช้คำสั่ง DROP ตารางในเซสชั่น MySQL ปัจจุบัน

ต่อไปนี้เป็นลบตัวอย่างตารางชั่วคราวด้วยตนเอง:

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;
ERROR 1146: Table 'w3big.SalesSummary' doesn't exist