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

ต้องการความช่วยเหลือในการลบคอลัมน์ที่ซ้ำกันออกจากตารางใน MySQL หรือไม่?


หากต้องการลบคอลัมน์ที่ซ้ำกัน ให้ใช้ DELETE ด้วย INNER JOIN ต่อไปนี้เป็นไวยากรณ์ -

ลบ tbl1 จาก yourTableName anyAliasName1inner เข้าร่วม yourTableName anyAliasName2whereyourCondition1andyourCondition2

ให้เราสร้างตาราง -

mysql> สร้างตาราง demo14−> (−> id int ไม่ใช่ null auto_increment คีย์หลัก,−> name varchar(30)−> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.89 วินาที)

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

mysql> แทรกลงในค่า demo14 (ชื่อ) ('John'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงใน demo14 (ชื่อ) ค่า ('David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.18 วินาที) mysql> แทรกลงในค่า demo14 (ชื่อ) ('David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงใน demo14 (ชื่อ) ค่า ('Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.15 วินาที) mysql> แทรกลงในค่า demo14 (ชื่อ) ('John'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.45 วินาที) mysql> แทรกลงใน demo14 (ชื่อ) ค่า ('Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.16 วินาที)

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

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

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

<ก่อนหน้า>+----+-------+| id | ชื่อ |+----+-------+| 1 | จอห์น || 2 | เดวิด || 3 | เดวิด || 4 | บ๊อบ || 5 | จอห์น || 6 | Carol |+----+-------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อลบคอลัมน์ที่ซ้ำกันออกจากตาราง -

mysql> ลบ tbl1 จาก demo14 tbl1−> inner join demo14 tbl2−> where−> tbl1.id  tbl1.name =tbl2.name−>; แบบสอบถามตกลง ได้รับผลกระทบ 2 แถว (0.20 วินาที )

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

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

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

<ก่อนหน้า>+----+-------+| id | ชื่อ |+----+-------+| 3 | เดวิด || 4 | บ๊อบ || 5 | จอห์น || 6 | Carol |+----+-------+4 แถวในชุด (0.00 วินาที)