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

รวม INSERT, VALUES และ SELECT ใน MySQL


คุณสามารถรวมคำสั่งแทรก ค่า และเลือกโดยใช้ไวยากรณ์ด้านล่าง

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

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตารางสองตารางโดยที่ตารางแรกจะได้รับระเบียนจากตารางที่สอง

ให้เราสร้างตารางแรกโดยไม่มีระเบียนใดๆ แบบสอบถามในการสร้างตารางมีดังนี้

mysql> สร้างตาราง CombiningInsertValuesSelect -> ( -> EmployeeId varchar(10), -> EmployeeName varchar(100), -> EmployeeAge int -> );Query OK, 0 แถวได้รับผลกระทบ (6.95 วินาที)

ตอนนี้คุณสามารถสร้างตารางที่สองด้วยบางระเบียนได้ แบบสอบถามในการสร้างตารางมีดังนี้

mysql> สร้างตาราง getAllValues ​​-> ( -> Id varchar(100), -> Name varchar(100), -> Age int -> );Query OK, 0 แถวได้รับผลกระทบ (1.12 วินาที)

แทรกระเบียนในตารางที่สองด้วยชื่อ 'getAllValues' โดยใช้คำสั่ง insert แบบสอบถามมีดังนี้

mysql> แทรกลงในค่า getAllValues('EMP-1','John',26); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.86 วินาที)mysql> แทรกลงในค่า getAllValues ​​('EMP-2','Carol', 22); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.36 วินาที) mysql> แทรกลงในค่า getAllValues ​​('EMP-3', 'Sam', 24); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.28 วินาที) mysql> แทรกลงในค่า getAllValues ​​( 'EMP-4','David',27); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.25 วินาที) mysql> แทรกลงใน getAllValuesvalues ​​('EMP-5', 'Bob', 21); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.75) วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+-------+-------+------+| รหัส | ชื่อ | อายุ |+-------+-------+------+| EMP-1 | จอห์น | 26 || EMP-2 | แครอล | 22 || EMP-3 | แซม | 24 || EMP-4 | เดวิด | 27 || EMP-5 | บ๊อบ | 21 |+-------+-------+------+5 แถวในชุด (0.00 วินาที)

นี่คือการใช้การแทรก ค่า และการเลือกใน MySQL แบบสอบถามมีดังนี้

mysql> แทรกลงใน CombiningInsertValuesSelect(EmployeeId,EmployeeName,EmployeeAge) -> เลือก Id,Name,Age จาก getAllValues ​​โดยที่ Id='EMP-4';Query OK, 1 แถวได้รับผลกระทบ (0.23 วินาที)ระเบียน:1 รายการซ้ำ:0 คำเตือน:0

ตอนนี้ตรวจสอบว่ามีระเบียนอยู่ในตารางหรือไม่โดยใช้คำสั่ง select แบบสอบถามมีดังนี้

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

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+------------+--------------+-----------+| รหัสพนักงาน | ชื่อพนักงาน | อายุพนักงาน |+------------+--------------+-----------+| EMP-4 | เดวิด | 27 |+------------+--------------+-------------------- +1 แถวในชุด ( 0.00 วินาที)