ข้ามไปยังเนื้อหาหลัก
คู่มือระบบ เนื้อหาผ่านการตรวจสอบแล้ว

การเพิ่มข้อมูล (INSERT INTO)

บทความนี้อธิบายวิธีการเพิ่มข้อมูลลงในตาราง MySQL ด้วยคำสั่ง `INSERT INTO` โดยครอบคลุมรูปแบบคำสั่งพื้นฐาน, การระบุหรือไม่ระบุชื่อคอลัมน์, การเพิ่มข้อมูลหลายแถวพร...

การเพิ่มข้อมูล (INSERT INTO)

หลังจากที่เราได้เรียนรู้วิธีการสร้างฐานข้อมูลและตารางแล้ว ขั้นตอนต่อไปคือการเพิ่มข้อมูลลงในตารางเหล่านั้น คำสั่ง SQL ที่ใช้สำหรับเพิ่มข้อมูลคือ INSERT INTO คำสั่งนี้ช่วยให้เราสามารถเพิ่มข้อมูลใหม่ลงในตารางที่เราต้องการได้

INSERT INTO คืออะไร?

INSERT INTO เป็นคำสั่ง SQL ที่ใช้สำหรับเพิ่มแถวใหม่ (หรือ record) ลงในตารางในฐานข้อมูล MySQL หลักการทำงานคือ เราจะระบุชื่อตารางที่เราต้องการเพิ่มข้อมูล และระบุค่าของข้อมูลที่เราต้องการเพิ่มลงในแต่ละคอลัมน์

รูปแบบคำสั่ง INSERT INTO

รูปแบบคำสั่ง INSERT INTO พื้นฐานมีดังนี้:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

โดย:

  • table_name คือชื่อของตารางที่เราต้องการเพิ่มข้อมูล
  • (column1, column2, column3, ...) คือรายการของคอลัมน์ที่เราต้องการระบุค่า
  • (value1, value2, value3, ...) คือรายการของค่าที่เราต้องการใส่ลงในแต่ละคอลัมน์ โดยค่าเหล่านี้จะต้องเรียงตามลำดับเดียวกับคอลัมน์ที่ระบุไว้

ตัวอย่างการใช้งาน INSERT INTO

สมมติว่าเรามีตารางชื่อ customers ที่มีโครงสร้างดังนี้:

CREATE TABLE customers (
    customer_id INT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    email VARCHAR(100)
);

เราสามารถเพิ่มข้อมูลลูกค้าใหม่ลงในตารางนี้ได้ดังนี้:

INSERT INTO customers (customer_id, first_name, last_name, email)
VALUES (1, 'John', 'Doe', 'john.doe@example.com');

คำสั่งนี้จะเพิ่มข้อมูลลูกค้าใหม่หนึ่งแถวลงในตาราง customers โดยมีค่าดังนี้:

  • customer_id: 1
  • first_name: 'John'
  • last_name: 'Doe'
  • email: 'john.doe@example.com'

การเพิ่มข้อมูลโดยไม่ระบุ Column Names

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

รูปแบบคำสั่งจะเป็นดังนี้:

INSERT INTO table_name
VALUES (value1, value2, value3, ...);

ตัวอย่างเช่น:

INSERT INTO customers
VALUES (2, 'Jane', 'Smith', 'jane.smith@example.com');

คำสั่งนี้จะเพิ่มข้อมูลลูกค้าใหม่หนึ่งแถวลงในตาราง customers โดยมีค่าดังนี้:

  • customer_id: 2
  • first_name: 'Jane'
  • last_name: 'Smith'
  • email: 'jane.smith@example.com'

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

การเพิ่มข้อมูลหลายแถวในครั้งเดียว

เราสามารถเพิ่มข้อมูลหลายแถวลงในตารางในครั้งเดียวได้ โดยใช้คำสั่ง INSERT INTO ร่วมกับ VALUES หลายชุด คั่นด้วยเครื่องหมายคอมม่า (,)

รูปแบบคำสั่งจะเป็นดังนี้:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1_1, value1_2, value1_3, ...),
       (value2_1, value2_2, value2_3, ...),
       (value3_1, value3_2, value3_3, ...);

ตัวอย่างเช่น:

INSERT INTO customers (customer_id, first_name, last_name, email)
VALUES (3, 'Alice', 'Johnson', 'alice.johnson@example.com'),
       (4, 'Bob', 'Williams', 'bob.williams@example.com');

คำสั่งนี้จะเพิ่มข้อมูลลูกค้าใหม่สองแถวลงในตาราง customers

Data Types และข้อควรระวัง

เมื่อเพิ่มข้อมูลลงในตาราง สิ่งสำคัญคือต้องตรวจสอบให้แน่ใจว่าประเภทของข้อมูล (data type) ที่เราใส่เข้าไปนั้นตรงกับประเภทของคอลัมน์ที่เราต้องการใส่ข้อมูล ตัวอย่างเช่น ถ้าคอลัมน์ customer_id เป็น INT เราจะต้องใส่ข้อมูลที่เป็นตัวเลขจำนวนเต็มเท่านั้น หากเราใส่ข้อมูลที่ไม่ถูกต้อง MySQL จะแสดงข้อผิดพลาด

นอกจากนี้ ควรระลึกเสมอว่าค่า VARCHAR หรือข้อความ จะต้องอยู่ในเครื่องหมาย Single quote (') หรือ Double quote (") ในขณะที่ค่าตัวเลข (INT, FLOAT) ไม่จำเป็นต้องมีเครื่องหมาย quotes

ตัวอย่างเพิ่มเติม

สมมติว่าเรามีตาราง products ที่มีโครงสร้างดังนี้:

CREATE TABLE products (
    product_id INT PRIMARY KEY,
    product_name VARCHAR(100),
    price DECIMAL(10, 2),
    category VARCHAR(50)
);

เราสามารถเพิ่มข้อมูลสินค้าใหม่ลงในตารางนี้ได้ดังนี้:

INSERT INTO products (product_id, product_name, price, category)
VALUES (1, 'Laptop', 1200.50, 'Electronics');

หรือ:

INSERT INTO products
VALUES (2, 'Mouse', 25.00, 'Electronics');

และ:

INSERT INTO products (product_id, product_name, price, category)
VALUES (3, 'Keyboard', 75.00, 'Electronics'),
       (4, 'Monitor', 300.00, 'Electronics');

สรุป

คำสั่ง INSERT INTO เป็นเครื่องมือพื้นฐานที่สำคัญในการจัดการฐานข้อมูล MySQL ช่วยให้เราสามารถเพิ่มข้อมูลใหม่ลงในตารางได้อย่างง่ายดาย การเข้าใจรูปแบบคำสั่ง การระบุชื่อคอลัมน์ การจัดการ Data Types และการเพิ่มข้อมูลหลายแถวในครั้งเดียว จะช่วยให้เราสามารถใช้งาน INSERT INTO ได้อย่างมีประสิทธิภาพ

ในบทเรียนถัดไป เราจะเรียนรู้วิธีการอ่านข้อมูลจากตารางโดยใช้คำสั่ง SELECT ซึ่งเป็นอีกหนึ่งคำสั่งพื้นฐานที่สำคัญในการจัดการฐานข้อมูล

Office.in.th Custom Service

ต้องการพัฒนาระบบหรือปรับแต่งจากโครงสร้างนี้?

Office.in.th รับพัฒนาและออกแบบ Enterprise Web Application, API Integration และระบบบริหารงานภาครัฐ/เอกชน พร้อมการสนับสนุนระยะยาว

ดูบริการรับพัฒนาซอฟต์แวร์