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

วิธีสร้างตาราง MySQL ชั่วคราวในคำสั่ง SELECT โดยไม่มี CREATE TABLE แยกต่างหาก


ในการสร้างตารางชั่วคราวในคำสั่ง SELECT เราใช้คีย์เวิร์ดชั่วคราว

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

การสร้างตาราง

mysql> สร้างตาราง MyTableDemo   -> (   -> id int,   -> ชื่อ varchar(100)   -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.69 วินาที)

กำลังแทรกบันทึกบางส่วน

mysql> แทรกลงในค่า MyTableDemo (1,'John');Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql>  แทรกลงในค่า MyTableDemo(2,'Carol');Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที )mysql>  แทรกลงในค่า MyTableDemo (3,'Bob'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที)

เพื่อแสดงรายการทั้งหมด

mysql> เลือก *จาก MyTemporaryTableDemo;

นี่คือผลลัพธ์

<ก่อนหน้า>+------+-------+| รหัส   | ชื่อ |+------+-------+| 1 | จอห์น  || 2 | แครอล || 3 | บ๊อบ   |+------+ -------- +3 แถวในชุด (0.00 วินาที)

ไวยากรณ์สำหรับสร้างตารางชั่วคราว

 สร้างตารางชั่วคราวหากไม่มี TemporaryTableName ของคุณ AS (SELECT * จาก yourTableName);

ให้เรานำไวยากรณ์ข้างต้นไปใช้ในแบบสอบถามต่อไปนี้ -

mysql> สร้างตารางชั่วคราวหากไม่มี MyTemporaryTableDemo AS (SELECT * FROM MyTableDemo); ตกลง ตกลง 3 แถวได้รับผลกระทบ (0.01 วินาที) บันทึก:3  ซ้ำกัน:0  คำเตือน:0

เพื่อตรวจสอบว่าบันทึกทั้งหมดถูกคัดลอกสำเร็จหรือไม่

mysql> เลือก *จาก MyTemporaryTableDemo;

นี่คือผลลัพธ์

<ก่อนหน้า>+------+-------+| รหัส   | ชื่อ |+------+-------+| 1 | จอห์น  || 2 | แครอล || 3 | บ๊อบ   |+------+ -------- +3 แถวในชุด (0.00 วินาที)