方式一:

1. 获取数据表的完整结构。 拿到创建表的SQL语句将表名改成需要新创建的表即可。

SHOW CREATE TABLE 表名

**2.**添加数据

INSERT INTO targetTable SELECT * FROM sourceTable;

方式二:

CREATE TABLE targetTable LIKE sourceTable;
INSERT INTO targetTable SELECT * FROM sourceTable;

方式三:

可以只拷贝一个表其中的一些字段

CREATE TABLE targetTable AS
(
    SELECT username, password FROM sourceTable
)

--可以将新建的表的字段改名:
CREATE TABLE newadmin AS
(  
    SELECT id, username AS uname, password AS pass FROM admin
)

--可以拷贝一部分数据:
CREATE TABLE newadmin AS
(
    SELECT * FROM admin WHERE LEFT(username,1) = 's'
)

--可以在创建表的同时定义表中的字段信息:
CREATE TABLE newadmin
(
    id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY
)
AS
(
    SELECT * FROM admin
)

区分下mysql复制表的两种方式。

--第一、只复制表结构到新表
create table 新表 select * from 旧表 where 1=2
--或者
create table 新表 like 旧表 
--第二、复制表结构及数据到新表
create table新表 select * from 旧表