PostgreSQL INSERT: การแทรกข้อมูลลงในตาราง

⚡ สรุปอย่างชาญฉลาด

PostgreSQL INSERT statement adds new rows to a table using SQL. Lessons cover syntax, single and multi-row inserts, the RETURNING clause, default values, and adding records through the pgAdmin interface visually.

  • 📥 ไวยากรณ์พื้นฐาน: INSERT INTO table (cols) VALUES (vals) — canonical form.
  • 📋 Multi-Row: Comma-separate value tuples to insert many rows.
  • 🔄 RETURNING: Fetches inserted rows in the same call.
  • 💡 ค่าเริ่มต้น: Omitted columns receive DEFAULT or NULL.
  • 🖥️ pgAdmin GUI: Add rows visually without writing SQL.
  • 🤖 AI SQL: Copilot generates parameterised INSERTs.

PostgreSQL INSERT

PostgreSQL คำสั่ง INSERT

In PostgreSQLคำสั่งแทรกจะช่วยแทรกแถวหรือแถวใหม่ลงในตาราง คุณสามารถแทรกแถวที่ระบุด้วยนิพจน์ค่า ศูนย์ หรือหลายแถวที่เป็นผลจากการสืบค้น

ไวยากรณ์ของ PostgreSQL ใส่ลงใน

INSERT INTO TABLE_NAME (column1, column2, ...columnN)
VALUES (value1, value2,...valueN);

คุณสามารถดูได้ในไวยากรณ์ด้านบน คอลัมน์ 1 ถึง N คือชื่อของคอลัมน์ในตารางที่คุณต้องการแทรกข้อมูลลงไป คอลัมน์เป้าหมายต้องแสดงรายการตามลำดับที่เฉพาะเจาะจง ค่าที่ระบุโดยแบบสอบถามหรือส่วนคำสั่งค่าอาจเป็นค่าที่สอดคล้องกันสำหรับคอลัมน์

เมื่อดำเนินการแบบสอบถามแล้ว คุณจะเห็นข้อความเอาต์พุต

Insert oid 1

ข้อความเอาต์พุตนี้จะปรากฏขึ้นหากมีการแทรกเพียงแถวเดียว โดยที่ oid คือ OID ตัวเลขที่กำหนดให้กับแถวที่แทรก

ตัวอย่างของการ PostgreSQL แทรกลงในตาราง

พิจารณาตาราง "บทช่วยสอน" ต่อไปนี้ที่มีสองคอลัมน์

“id” จำนวนเต็มค่าเริ่มต้น 1
“tutorial_name” ข้อความค่าเริ่มต้น postgre
และไม่มีข้อจำกัด

PostgreSQL แทรกลงในตาราง

นี่คือขั้นตอนสำหรับ PostgreSQL แทรกลงในตาราง:

ขั้นตอน 1) การแทรกแถวเข้าไป

INSERT INTO tutorials(id, tutorial_name) VALUES (1, 'postgre');

PostgreSQL แทรกลงในตาราง

หมายเหตุ: เฉพาะอักขระหรือค่าวันที่เท่านั้นที่ต้องอยู่ในเครื่องหมายคำพูดเดี่ยวเมื่อแทรกแถว

ขั้นตอน 2) อย่างไรก็ตาม หากคุณแทรกข้อมูลลงในคอลัมน์ทั้งหมด คุณสามารถละชื่อคอลัมน์ได้ คำสั่งแทรกเดียวกันยังสามารถเขียนเป็น

INSERT INTO tutorials VALUES (1, 'postgre');

PostgreSQL แทรกลงในตาราง

ขั้นตอน 3) ค่าข้อมูลจะแสดงตามลำดับตามคอลัมน์ที่ปรากฏในตาราง คั่นด้วยเครื่องหมายจุลภาค

ไวยากรณ์ข้างต้นมีปัญหาซึ่งคุณจำเป็นต้องทราบลำดับของคอลัมน์ในตาราง เพื่อแก้ไขปัญหานี้ คุณยังสามารถแสดงรายการคอลัมน์ได้อย่างชัดเจน

ตัวอย่างเช่น คำสั่งทั้งสองที่ระบุไว้ด้านล่างมีผลเหมือนกันดังที่แสดงด้านล่าง:

INSERT INTO tutorials(id, tutorial_name) VALUES (1, 'postgre');
INSERT INTO tutorials(tutorial_name, id) VALUES ('postgre',1);

PostgreSQL แทรกลงในตาราง

ขั้นตอน 4) ในตัวอย่างนี้ คุณจะเห็นว่าถ้าคุณไม่มีค่าสำหรับคอลัมน์ทั้งหมด คุณสามารถละเว้นบางคอลัมน์ได้

ในกรณีดังกล่าว คอลัมน์ต่างๆ จะถูกเติมด้วยค่าเริ่มต้นโดยอัตโนมัติ หากมีการระบุ

INSERT INTO tutorials(id) VALUES (5);

PostgreSQL แทรกลงในตาราง

ขั้นตอน 5) คุณยังสามารถขอค่าเริ่มต้นสำหรับแต่ละคอลัมน์หรือทั้งแถวได้:

INSERT INTO tutorials(id, tutorial_name) VALUES (1, DEFAULT);
INSERT INTO tutorials DEFAULT VALUES;

PostgreSQL แทรกลงในตาราง

ขั้นตอน 6) คุณสามารถหลายแถวได้ด้วยคำสั่งเดียว:

INSERT INTO tutorials(id, tutorial_name) VALUES
(1, 'postgre'),
(2, 'oracle'),
(3, 'mysql'),
(4, 'mongo');

PostgreSQL แทรกลงในตาราง

ขั้นตอน 7) In PostgreSQLนอกจากนี้ยังเป็นการแทรกผลลัพธ์ของการสืบค้นซึ่งอาจไม่มีแถว แถวเดียว หรือหลายแถว:

INSERT INTO tutorials (id, tutorial_name)
SELECT id, tutorial_name FROM tutorials
WHERE tutorial_name = 'mysql';

PostgreSQL แทรกลงในตาราง

PostgreSQL แทรกคำสั่งโดยใช้ pgAdmin

ต่อไปนี้เป็นขั้นตอนในการแทรกคำสั่งโดยใช้ pgAdmin ใน Postgre SQL

ขั้นตอน 1) ในแผนผังวัตถุ

  1. คลิกขวาที่ตารางที่คุณต้องการแทรกข้อมูล
  2. เลือกสคริปต์
  3. แทรกสคริปต์

PostgreSQL แทรกคำสั่งโดยใช้ pgAdmin

ขั้นตอน 2) ในแผงแทรก

  1. แก้ไขแบบสอบถาม
  2. คลิกปุ่มไฟ
  3. สังเกตผลลัพธ์

PostgreSQL แทรกคำสั่งโดยใช้ pgAdmin

ขั้นตอน 3) คุณยังสามารถไปที่เครื่องมือ > เครื่องมือสืบค้นข้อมูล เพื่อเปิดตัวแก้ไขแบบสอบถามได้ แต่คุณจะไม่ได้รับข้อความค้นหาแบบแทรกเริ่มต้น

PostgreSQL แทรกคำสั่งโดยใช้ pgAdmin

คำถามที่พบบ่อย

Use a single INSERT with comma-separated tuples: INSERT INTO t (a,b) VALUES (1,2), (3,4). Far faster than multiple single-row INSERTs.

AI tools generate parameterised INSERTs to prevent SQL injection, suggest RETURNING clauses, and convert spreadsheet data into multi-row INSERTs.

Yes. AI produces realistic seed data, infers column types from schemas, and writes Python or shell scripts to batch INSERTs.

RETURNING fetches columns from the rows just inserted in the same statement. Use RETURNING * for all columns or list specific columns.

PostgreSQL has no hard row limit, but very large statements can hit memory limits. Use COPY for bulk loads.

Always use parameterised queries with $1, $2 placeholders. Never concatenate user input into INSERT SQL strings.

Yes. Open the table, choose View/Edit Data, add a new row in the grid. pgAdmin generates the INSERT statement for you.

INSERT adds row-by-row through SQL. COPY streams bulk data from files much faster. Use COPY for initial loads.

สรุปโพสต์นี้ด้วย: