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

แทรกจากตารางหนึ่งที่มีโครงสร้างต่างกันไปยังอีกตารางหนึ่งใน MySQL หรือไม่


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

mysql> สร้างตาราง DemoTable1 -> ( -> PersonId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> PersonName varchar(20), -> PersonAge int, -> PersonCountryName varchar(20) -> );Query OK, 0 rows ได้รับผลกระทบ (0.55 วินาที)

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

mysql> แทรกลงในค่า DemoTable1(PersonName,PersonAge,PersonCountryName) ('Chris Brown',24,'US');การสืบค้นตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงใน DemoTable1(PersonName,PersonAge,PersonCountryName ) ค่า ('John Doe',26,'UK');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.23 วินาที)mysql> แทรกลงในค่า DemoTable1 (PersonName,PersonAge,PersonCountryName) ('David Miller',23,'AUS');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.10 วินาที)

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

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

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

<ก่อนหน้า>+----------+--------------+-----------+-------- ----+| รหัสบุคคล | ชื่อบุคคล | บุคคลอายุ | PersonCountryName |+----------+--------------+-----------+--------- ----+| 1 | คริส บราวน์ | 24 | สหรัฐอเมริกา || 2 | จอห์น โด | 26 | สหราชอาณาจักร || 3 | เดวิด มิลเลอร์ | 23 | AUS |+----------+--------------+-----------+--------- ----------+3 แถวในชุด (0.00 วินาที)

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

mysql> สร้างตาราง DemoTable2 -> ( -> EmployeeId int, -> EmployeeFullName varchar(30), -> EmployeeAge int, -> EmployeeCountryName varchar(20), -> EmployeeSalary int default 20000 -> ); แบบสอบถามตกลง ได้รับผลกระทบ 0 แถว (0.52 วินาที)

นี่คือแบบสอบถามที่จะแทรกจากตารางที่มีโครงสร้างที่แตกต่างกันไปยังอีก -

mysql> แทรกลงใน DemoTable2(EmployeeId,EmployeeFullName,EmployeeAge,EmployeeCountryName) เลือก PersonId,PersonName,PersonAge,PersonCountryName จาก DemoTable1;Query OK, 3 แถวได้รับผลกระทบ (0.26 วินาที)ระเบียน:3 รายการซ้ำ:0 คำเตือน:0

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

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

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

<ก่อนหน้า>+-----------+-----------+-------------+ ----------------------------------------------------+| รหัสพนักงาน | พนักงานชื่อเต็ม | อายุพนักงาน | ชื่อพนักงานประเทศ | เงินเดือนพนักงาน |+------------+-----------+-------------+- ----------------------------------------------------+| 1 | คริส บราวน์ | 24 | สหรัฐอเมริกา | 20000 || 2 | จอห์น โด | 26 | สหราชอาณาจักร | 20000 || 3 | เดวิด มิลเลอร์ | 23 | AUS | 20000 |+-----------+-----------+-------------+- --------------------+----------------+3 แถวในชุด (0.00 วินาที)