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

MySQL SELECT จากแบบสอบถามย่อยแล้วดำเนินการ DELETE หรือไม่


ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1947 ( Id int ชื่อ varchar(20) ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable1947 (101,'Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1947 (102, 'David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที )mysql> แทรกลงในค่า DemoTable1947 (103, 'Mike'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1947 (104, 'Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1947 (105,'แซม');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+------+-------+| รหัส | ชื่อ |+------+-------+| 101 | คริส || 102 | เดวิด || 103 | ไมค์ || 104 | บ๊อบ || 105 | แซม |+------+-------+5 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามที่จะใช้ select * จากแบบสอบถามย่อยแล้วดำเนินการ DELETE -

mysql> ลบจาก DemoTable1947 โดยที่ Id IN (เลือก * จาก (เลือก Id จากลำดับ DemoTable1947 ตาม Id Limit 3) เป็น t); แบบสอบถามตกลง 3 แถวได้รับผลกระทบ (0.00 วินาที)

ให้เราตรวจสอบบันทึกตารางอีกครั้ง -

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+------+------+| รหัส | ชื่อ |+------+------+| 104 | บ๊อบ || 105 | แซม |+------+------+2 แถวในชุด (0.00 วินาที)