Bird
Raised Fist0
MySQLquery~5 mins

INSERT INTO multiple rows in MySQL

Choose your learning style10 modes available
Introduction
You use INSERT INTO multiple rows to add many new records to a table in one go. This saves time and makes your work easier.
When you want to add several new customers to your customer list at once.
When you have a list of new products to add to your store's inventory.
When you need to record multiple sales transactions that happened today.
When you want to quickly add several new employees to the company database.
Syntax
MySQL
INSERT INTO table_name (column1, column2, column3) VALUES (value1a, value2a, value3a), (value1b, value2b, value3b), ...;
Each set of values inside parentheses represents one row to add.
Separate each row with a comma.
Examples
Adds two students named Alice and Bob with their ages.
MySQL
INSERT INTO students (name, age) VALUES ('Alice', 20), ('Bob', 22);
Adds three products with their prices in one command.
MySQL
INSERT INTO products (product_name, price) VALUES ('Pen', 1.5), ('Notebook', 3.0), ('Eraser', 0.5);
Sample Program
This creates an employees table, adds three employees at once, then shows all employees.
MySQL
CREATE TABLE employees (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), department VARCHAR(50));
INSERT INTO employees (name, department) VALUES ('John Doe', 'Sales'), ('Jane Smith', 'Marketing'), ('Emily Davis', 'HR');
SELECT * FROM employees;
OutputSuccess
Important Notes
Make sure the order of values matches the order of columns listed.
If a column can be empty, you can skip it if the table allows NULL or has a default.
Using multiple rows in one INSERT is faster than many single INSERT commands.
Summary
INSERT INTO multiple rows lets you add many records in one command.
Use parentheses for each row and separate rows with commas.
It saves time and makes your database work more efficient.

Practice

(1/5)
1. What does the INSERT INTO statement with multiple rows do in MySQL?
easy
A. Updates multiple rows at once
B. Adds several records to a table in one command
C. Deletes multiple rows from a table
D. Creates a new table with multiple rows

Solution

  1. Step 1: Understand the purpose of INSERT INTO

    The INSERT INTO statement is used to add new data into a table.
  2. Step 2: Recognize multiple rows insertion

    When multiple rows are inserted, several sets of values are added in one command, saving time.
  3. Final Answer:

    Adds several records to a table in one command -> Option B
  4. Quick Check:

    Multiple rows insertion = Adds many records [OK]
Hint: Multiple rows use commas between parentheses [OK]
Common Mistakes:
  • Confusing INSERT with DELETE or UPDATE
  • Thinking it creates a new table
  • Believing it modifies existing rows
2. Which of the following is the correct syntax to insert multiple rows into a table named students with columns id and name?
easy
A. INSERT INTO students (id, name) VALUES (1, 'Alice'), (2, 'Bob');
B. INSERT INTO students VALUES (1, 'Alice'); (2, 'Bob');
C. INSERT INTO students (id, name) VALUES (1, 'Alice') AND (2, 'Bob');
D. INSERT INTO students (id, name) SET (1, 'Alice'), (2, 'Bob');

Solution

  1. Step 1: Check the correct use of VALUES and parentheses

    The correct syntax uses VALUES followed by multiple sets of values in parentheses separated by commas.
  2. Step 2: Identify the correct option

    INSERT INTO students (id, name) VALUES (1, 'Alice'), (2, 'Bob'); correctly uses VALUES (1, 'Alice'), (2, 'Bob') with commas separating rows.
  3. Final Answer:

    INSERT INTO students (id, name) VALUES (1, 'Alice'), (2, 'Bob'); -> Option A
  4. Quick Check:

    VALUES + multiple parentheses + commas = correct syntax [OK]
Hint: Use VALUES with comma-separated parentheses for rows [OK]
Common Mistakes:
  • Using semicolons between rows instead of commas
  • Using AND instead of commas
  • Using SET instead of VALUES
3. Given the table products(id INT, name VARCHAR(20)), what will be the result of this query?
INSERT INTO products (id, name) VALUES (1, 'Pen'), (2, 'Pencil');
SELECT * FROM products;
medium
A. [{id:1, name:'Pen'}]
B. Syntax error due to missing commas
C. [{id:1, name:'Pen'}, {id:2, name:'Pencil'}]
D. Empty result, no rows inserted

Solution

  1. Step 1: Understand the INSERT query

    The query inserts two rows: one with id=1 and name='Pen', another with id=2 and name='Pencil'.
  2. Step 2: Understand the SELECT query

    The SELECT query fetches all rows from the table, so it will show both inserted rows.
  3. Final Answer:

    [{id:1, name:'Pen'}, {id:2, name:'Pencil'}] -> Option C
  4. Quick Check:

    Multiple rows inserted = multiple rows returned [OK]
Hint: Multiple rows inserted appear in SELECT output [OK]
Common Mistakes:
  • Assuming only one row inserts
  • Thinking syntax error occurs without commas
  • Believing no rows are inserted
4. Identify the error in this query:
INSERT INTO employees (id, name) VALUES (1, 'John') (2, 'Jane');
medium
A. Extra semicolon inside VALUES
B. Using single quotes instead of double quotes
C. Missing column names
D. Missing comma between row values

Solution

  1. Step 1: Check syntax for multiple rows insertion

    Multiple rows must be separated by commas between parentheses.
  2. Step 2: Identify the missing comma

    The query misses a comma between (1, 'John') and (2, 'Jane').
  3. Final Answer:

    Missing comma between row values -> Option D
  4. Quick Check:

    Rows separated by commas, not just spaces [OK]
Hint: Separate each row with a comma inside VALUES [OK]
Common Mistakes:
  • Omitting commas between rows
  • Confusing quotes usage
  • Forgetting column list
5. You want to insert multiple rows into a table orders(order_id, product, quantity). You have this query:
INSERT INTO orders (order_id, product, quantity) VALUES (101, 'Book', 2), (102, 'Pen', 5), (101, 'Notebook', 3);

What problem might occur and how to fix it?
hard
A. Duplicate order_id 101 may cause error if order_id is PRIMARY KEY; fix by using unique IDs
B. Missing commas between rows; fix by adding commas
C. Wrong column order; fix by rearranging columns
D. Using single quotes for strings; fix by using double quotes

Solution

  1. Step 1: Identify duplicate primary key values

    If order_id is a PRIMARY KEY, duplicate values like 101 cause insertion errors.
  2. Step 2: Fix by ensuring unique keys

    Use unique order_id values for each row to avoid conflicts.
  3. Final Answer:

    Duplicate order_id 101 may cause error if order_id is PRIMARY KEY; fix by using unique IDs -> Option A
  4. Quick Check:

    Primary keys must be unique [OK]
Hint: Primary keys must be unique in multiple inserts [OK]
Common Mistakes:
  • Ignoring duplicate primary key errors
  • Confusing commas with semicolons
  • Misunderstanding string quoting rules
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard