SQL: SQL, copy data from one table to another

Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026

The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.


One of those maintenance tasks: copying data from one table to another.

You can copy all elements from a table into another like this:

INSERT INTO some_table
SELECT * FROM other_table

Of course you can just select some if you want:

INSERT INTO some_table
SELECT * FROM other_table WHERE list=94

If the table you’re copying to has existing data, you might have primary key duplication issues.

To leave the primary key column empty to make the table auto-fill it with its auto increment, I selected all columns except the primary key:

INSERT INTO some_table (`age`, `name`, `email`)
SELECT `age`, `name`, `email` FROM other_table

In my case id was the primary key column, and I left it out.

Lessons in this unit:

0: Introduction
1: Using TablePlus
2: Create a Postgres database
3: Create a new table
4: Add data to a table
5: Query data with SELECT
6: Delete data from the database
7: Update data with UPDATE
8: Null constraints
9: Unique and primary keys
10: Updating a table structure
11: Joins
12: SQL Views
13: ▶︎ SQL, copy data from one table to another