🔥Limited Offer: Get 50% OFFon AI & Full Stack Courses🔥
Back to MySQL Notes
Topic #41

MySQL INSERT SELECT


The MySQL INSERT INTO SELECT Statement

The INSERT INTO SELECT statement is used to copy data from an existing table and insert it into another existing table.

The INSERT INTO SELECT statement requires that the data types in source and target tables matches.

Note: The existing records in the target table are unaffected.

INSERT INTO SELECT Syntax

Copy all columns from one table to another table:

INSERT INTO target_table
SELECT * FROM source_table
WHERE condition;

Note: If you omit the column names, the number and order of columns in the source and target tables must be exactly the same!

Copy only some columns from one table to another table:

INSERT INTO target_table (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM source_table
WHERE condition;

Demo Database

Below is a selection from the "Customers" table:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

And a selection from the "Suppliers" table:

SupplierID SupplierName ContactName Address City Postal Code Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. Londona EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA

MySQL INSERT INTO SELECT Examples

Example

INSERT INTO Customers (CustomerName,
 City, Country)
SELECT SupplierName, City, Country FROM Suppliers;

Example

  INSERT INTO Customers
SELECT * FROM Suppliers;

Example

 INSERT INTO Customers (CustomerName,
  City, Country)
 SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';

Want to go beyond the notes?

Join CodingNow 2.0's MySQL course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

MySQL INSERT SELECT – FAQs

Quick answers about learning MySQL INSERT SELECT in MySQL.

This free note from CodingNow 2.0 explains MySQL INSERT SELECT in MySQL — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every MySQL topic on CodingNow 2.0, including MySQL INSERT SELECT, is 100% free with no signup required.
With focused practice, most students grasp MySQL INSERT SELECT in 1–3 days from these notes; pairing it with CodingNow 2.0's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the CodingNow 2.0 Community (/community) — expert instructors answer within 24 hours.
WhatsApp
Call NowEnroll Now