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

แบบสอบถาม MySQL เดียวเพื่อแทรกระเบียน (ไม่ใช่ทั้งหมด) ในตารางที่สองจากตารางแรก


ใช้การแทรกแบบซ้อนกับการเลือกใน MySQL สำหรับสิ่งนี้ดังที่แสดงในไวยากรณ์ด้านล่าง -

แทรกลงใน yourTableName2(yourColumnName1,yourColumnName2,.....N)select yourColumnName1,yourColumnName2,....N จาก yourTableName1 ที่ yourCondition;

เรามาดูตัวอย่างและสร้างตารางกันก่อน −

mysql> สร้างตาราง DemoTable1 (รหัส int ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก ชื่อ varchar(40)); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.88 วินาที)

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

mysql> แทรกลงในค่า DemoTable1(Name) ('Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable1 (ชื่อ) ('David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.11 วินาที) mysql> แทรกลงในค่า DemoTable1 (ชื่อ) ('Bob'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที)

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

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

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

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

ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างตารางที่สอง -

mysql> สร้างตาราง DemoTable1( ClientId int, ClientFirstName varchar(20)); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.60 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแทรกระเบียนในตารางที่สองจากตารางแรก -

mysql> แทรกลงใน DemoTable2(ClientId,ClientFirstName)select Id,Name from DemoTable1 where Id !=2;Query OK, 2 แถวได้รับผลกระทบ (0.17 วินาที)ระเบียน:2 รายการซ้ำ:0 คำเตือน:0

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

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

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

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