This article shows how to copy/duplicate a table in MySQL.

First, this query will copy the data and structure, but the indexes are not included:

CREATE TABLE IF NOT EXISTS new_table SELECT * FROM old_table;

Second, this query will copy the table structure and indexes, but not data:

CREATE TABLE IF NOT EXISTS new_table LIKE old_table;

So, to copy everything, including database objects such as indexes, primary key constraint, foreign key constraints, triggers, etc., run these queries:

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

If you want to copy a table from one database to another database:

CREATE TABLE IF NOT EXISTS destination_db.new_table LIKE source_db.old_table;

INSERT destination_db.new_table
SELECT
    *
FROM
    source_db.old_table;