How can the INSERT INTO .. SELECT statement be utilized to streamline data copying in PHP?

When dealing with large amounts of data in PHP, copying data from one table to another can be inefficient and time-consuming. One way to streamline this process is by using the INSERT INTO .. SELECT statement in SQL. This statement allows you to select data from one table and insert it directly into another table in a single query, reducing the amount of code needed and improving performance.

<?php
// Establish a connection to the database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Copy data from one table to another using INSERT INTO .. SELECT statement
$sql = "INSERT INTO new_table (column1, column2, column3)
        SELECT column1, column2, column3
        FROM old_table";

if ($conn->query($sql) === TRUE) {
    echo "Data copied successfully";
} else {
    echo "Error copying data: " . $conn->error;
}

// Close the connection
$conn->close();
?>