How do i copy a table from one table to another in phpmyadmin?

You can duplicate or "clone" a table's contents by executing a CREATE TABLE ... AS SELECT statement:

CREATE TABLE new_table AS SELECT * FROM original_table;

Please be careful when using this to clone big tables. This can take a lot of time and server resources.

Note also that new_table inherits ONLY the basic column definitions, null settings and default values of the original_table. It does not inherit indexes and auto_increment definitions.

To inherit all table definitions, use the CREATE TABLE... LIKE syntax:

CREATE TABLE new_table LIKE original_table;

This makes the structure of new_table exactly like that of original_table, but DOES NOT copy the data. To copy the data, you'll need INSERT ... SELECT:

INSERT INTO new_table SELECT * FROM original_table;

Again, be careful when doing this to big tables.

Summary: in this tutorial, you will learn how to copy table within the same database or from one database to another using CREATE TABLE and SELECT statements.

MySQL copy table to a new table

Copying data from an existing table to a new one is very useful in some cases such as backing up data and replicating the production data for testing.

To copy data from a table to a new table, you use CREATE TABLE and SELECT statements as follows:

CREATE TABLE new_table SELECT col, col2, col3 FROM existing_table;

Code language: SQL (Structured Query Language) (sql)

First, MySQL creates a new table with the name indicated in the CREATE TABLE statement. The structure of the new table is defined by the result set of the SELECT statement. Then, MySQL populates data that comes from the SELECT statement to the new table.

To copy partial data from an existing table to the new one, you use WHERE clause in the SELECT statement as follows:

CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;

Code language: SQL (Structured Query Language) (sql)

It is very important to check whether the table you want to create that already exists before creating it. To do so, you use IF NOT EXIST clause in the CREATE TABLE statement. The complete command of copying data from an existing table to the new one is as follows:

CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;

Code language: SQL (Structured Query Language) (sql)

Note that the statement above just copies the table and its data. It does not copy other database objects such as indexes, primary key constraint, foreign key constraints, triggers, etc., associated with the table.

To copy data from one table and also all the dependent objects of the table, you use the following statements:

CREATE TABLE IF NOT EXISTS new_table LIKE existing_table; INSERT new_table SELECT * FROM existing_table;

Code language: SQL (Structured Query Language) (sql)

We need to execute two statements. The first statement creates a new table new_table by duplicating the existing_table. The second statement inserts data from the existing table into the new_table.

MySQL copy table examples

The following statement copies data from the offices table to a new table named offices_bk in the classicmodels sample database.

CREATE TABLE IF NOT EXISTS offices_bk SELECT * FROM offices;

Code language: SQL (Structured Query Language) (sql)

We can verify the copy by querying data from the office_bk table as follows:

SELECT * FROM offices_bk;

Code language: SQL (Structured Query Language) (sql)
How do i copy a table from one table to another in phpmyadmin?

In cases we want to copy the offices in the US only, we can add the WHERE clause to the SELECT statement as follows:

CREATE TABLE IF NOT EXISTS offices_usa SELECT * FROM offices WHERE country = 'USA'

Code language: SQL (Structured Query Language) (sql)

The following statement gets all data from the offices_usa table.

SELECT * FROM offices_usa;

Code language: SQL (Structured Query Language) (sql)
How do i copy a table from one table to another in phpmyadmin?

Suppose, we want to copy not only the data but also all database objects associated with the offices table, we use the following statements:

CREATE TABLE offices_dup LIKE offices; INSERT office_dup SELECT * FROM offices;

Code language: SQL (Structured Query Language) (sql)

MySQL copy table to another database

Sometimes, you want to copy a table to a different database. In such cases you use the following statements:

CREATE TABLE destination_db.new_table LIKE source_db.existing_table; INSERT destination_db.new_table SELECT * FROM source_db.existing_table;

Code language: SQL (Structured Query Language) (sql)

The first statement creates a new table new_table in the destination database (destination_db) by duplicating the existing table (existing_table) from the source database (source_db).

The second statements copy data from the existing table in the source database to the new table in the destination database.

Let’s see the following example.

First, we create a database named testdb using the following statement:

CREATE DATABASE IF NOT EXISTS testdb;

Code language: SQL (Structured Query Language) (sql)

Second, we create the offices table in the testdb by copying its structure from the offices table in the classicmodels database.

CREATE TABLE testdb.offices LIKE classicmodels.offices;

Code language: SQL (Structured Query Language) (sql)

Third, we copy data from the classimodels.offices table to testdb.offices table.

INSERT testdb.offices SELECT * FROM classicmodels.offices;

Code language: SQL (Structured Query Language) (sql)

Let’s verify the data from the testdb.offices table.

SELECT * FROM testdb.offices;

Code language: SQL (Structured Query Language) (sql)
How do i copy a table from one table to another in phpmyadmin?

In this tutorial, we have shown you various techniques to copy table within a database and from one database to another.

Was this tutorial helpful?

How can I copy data from one table to another table in phpMyAdmin?

How to copy a database table with phpMyAdmin.
Log in to your HostPapa Dashboard..
Click My cPanel..
Scroll down to the Databases section and select phpMyAdmin..
Use the navigation tree in the left sidebar to locate the database table you want to copy..
Select the Operations tab at the top of the screen..

How do I copy and paste a table in phpMyAdmin?

Steps to Copy a MySQL Table with phpMyAdmin (Details Guide).
Log into cPanel panel..
Go to phpMyAdmin and choose the database and the table that you intend to copy..
Go to the option titled “Operations” listed amongst the other tabs..
Locate the box titled “Copy table to (database,table): ”.

How do I copy data from one table to another table in MySQL database?

The fastest way to copy a table in MySQL:.
Right-click the table you want to copy in Database Explorer and select Duplicate Object..
In the dialog that opens, select the destination db..
Select to copy the table data or structure only..
Specify the name of the new table, and click OK..

How do I copy a table from one database to another database?

Right-click on the database name, then select "Tasks" > "Export data..." from the object explorer. The SQL Server Import/Export wizard opens; click on "Next". Provide authentication and select the source from which you want to copy the data; click "Next". Specify where to copy the data to; click on "Next".