MySQL: INSERT INTO SELECT Statement

Profile picture for user arilio666

The INSERT INTO statement is a query in which we are asking it to insert some values from other tables using SELECT after it. It can insert into specific columns by mentioning it in the INSERT INTO and Fetch other table values using SELECT. Can also be used to copy entire table values too.

Syntax

1)INSERT INTO TableName SELECT * FROM TableName2;
2)INSERT INTO TableName(Columns) SELECT Columns FROM TableName2;
3)INSERT INTO TableName(Columns) SELECT Columns FROM TableName2 WHERE Condition;

Example

For this example, we will be creating a table called clonecrypto and will be inserting it from the crypto_price table to clonecrypto.

1. INSERT INTO TableName SELECT * FROM TableName2

INSERT INTO clonecrypto SELECT * from crypto_price;

So we can see that using this syntax have fetched every value out of the crypto_price table and copied it onto the clonecrypto.

2. INSERT INTO TableName(Columns) SELECT Columns FROM TableName2

INSERT INTO clonecrypto (ID, Name) SELECT ID, Name FROM crypto_price;

Here we have inserted the id and name columns alone from the crypto_price table using the 2nd syntax.

3. INSERT INTO TableName(Columns) SELECT Columns FROM TableName2 WHERE Condition

INSERT INTO clonecrypto (ID, Name, Price) SELECT ID, Name, Price FROM crypto_price WHERE Name='SafeMoon';

So from here, we used the WHERE clause to get the specific data out of the crypto_price table to the clonecrypto.

Tags