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

จะคัดลอกแถวจากตารางหนึ่งไปยังอีกตารางหนึ่งใน MySQL ได้อย่างไร


สำหรับสิ่งนี้ ให้ใช้คำสั่ง INSERT INTO SELECT ให้เราสร้างตารางก่อน -

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

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

mysql> แทรกลงในค่า DemoTable1879 (101,'Chris Brown') แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1879 (102, 'David Miller'); ตกลง ตกลง 1 แถวได้รับผลกระทบ ( 0.00 วินาที) mysql> แทรกลงในค่า DemoTable1879 (103, 'Adam Smith'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที)

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

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

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

<ก่อนหน้า>+------+-------------+| รหัส | ชื่อ |+------+-------------+| 101 | คริส บราวน์ || 102 | เดวิด มิลเลอร์ || 103 | Adam Smith |+------+--------------+3 แถวในชุด (0.00 วินาที)

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

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

นี่คือแบบสอบถามเพื่อคัดลอกแถวจากตารางหนึ่งไปยังอีกตารางหนึ่ง -

mysql> แทรกลงใน DemoTable1880(ClientId,ClientName) เลือก Id,Name จาก DemoTable1879 โดยที่ Id IN (101,103); ตกลง ตกลง 2 แถวได้รับผลกระทบ (0.00 วินาที) บันทึก:2 รายการซ้ำ:0 คำเตือน:0

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

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

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

<ก่อนหน้า>+----------+-------------+| รหัสลูกค้า | ชื่อลูกค้า |+----------+-------------+| 101 | คริส บราวน์ || 103 | Adam Smith |+----------+--------------------+2 แถวในชุด (0.00 วินาที)