คำสั่ง INSERT INTO VALUES()
เราทราบวิธีสร้างตารางแล้ว เรามาดูรายละเอียดเกี่ยวกับวิธีเพิ่มข้อมูลลงในตารางโดยใช้คิวรี SQL
ในความเป็นจริงมันง่ายมากที่จะทำเช่นนี้ แต่มีความแตกต่างหลายประการ ตัวเลือกที่ง่ายที่สุดสำหรับการแทรกข้อมูลลงในตารางจำเป็นต้องระบุสองสิ่ง:
- ชื่อคอลัมน์
- ค่าคอลัมน์ (ข้อมูล)
ต้องระบุชื่อคอลัมน์เนื่องจากคอลัมน์มักมีค่าเริ่มต้นที่ไม่ได้ระบุเมื่อแทรกข้อมูล และโดยปกติแล้วทุกตารางจะมีคอลัมน์ดังกล่าวอย่างน้อยหนึ่งคอลัมน์ เช่น รหัสแถว
รูปแบบทั่วไปของแบบสอบถามสำหรับการแทรกข้อมูลลงในตารางมีลักษณะดังนี้:
INSERT INTO table (column1, column2, column3) VALUES
(value1, value2, value3),
(value1, value2, value3),
(value1, value2, value3);
ตัวอย่างเช่น หากคุณต้องการแทรกระเบียนใหม่ลงในตารางผู้ใช้ คิวรีจะมีลักษณะดังนี้:
INSERT INTO user (name, level, created_time) VALUES
('Rabinovich', 5, ‘2022-06-06’);
INSERT INTO คำสั่งเลือก
อีกสถานการณ์ทั่วไปสำหรับการแทรกข้อมูลลงในตารางคือการดึงข้อมูลจากตาราง สกีมา หรือแม้แต่ DBMS อื่น
ในการทำเช่นนี้ มีรูปแบบคิวรี INSERT INTO อีกรูปแบบหนึ่ง ซึ่งคุณสามารถระบุคิวรีเพื่อเลือกข้อมูลแทนส่วน VALUES ได้
รูปแบบทั่วไปของคำขอดังกล่าวคือ:
INSERT INTO table (column1, column2, column3)
SELECT-request;
ลองเขียนแบบสอบถามที่จะเพิ่มผู้ใช้ทั้งหมดจากตารางพนักงานไปยังตารางผู้ใช้:
INSERT INTO user (name, created_time)
SELECT employee.name, employee.join_date
FROM employee;
เรามีข้อมูลต่าง ๆ ในตารางพนักงาน แต่จากข้อมูลเหล่านี้ เราเลือกเพียงสองฟิลด์ - ชื่อและเวลาที่มาถึงบริษัท
นอกจากนี้ ตารางผู้ใช้ต้องการให้คุณระบุระดับผู้ใช้ - ระดับ พนักงานไม่มีระดับในตารางพนักงาน ดังนั้นเราจะใช้ข้อเท็จจริงที่ว่าตารางผู้ใช้มีค่าเริ่มต้นสำหรับฟิลด์ระดับ เราไม่ระบุระดับและ SQL จะตั้งค่าเริ่มต้น
สมมติว่าเราไม่พอใจกับค่าดีฟอลต์ และเราต้องการให้ระดับเป็น 99 และแทนที่ user.created_time ด้วยวันที่ของวันนี้ เราก็เขียนสิ่งนี้ได้:
INSERT INTO user (name, level, created_time)
SELECT employee.name, 99, CURDATE()
FROM employee;
มีอีกมากที่สามารถทำได้ แต่ฉันคิดว่านี่จะเพียงพอสำหรับตอนนี้ คุณสามารถอ่านเพิ่มเติมได้ที่หน้า MySQL อย่างเป็นทางการ
GO TO FULL VERSION