MySQL拷贝表的几种方式

1. 拷贝表结构到新表中。 (不会拷贝表中的数据)

CREATE TABLE 新表 LIKE 旧表;

CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2;

  

2. 拷贝数据到新表中。(新表不会有主键,索引)

CREATE TABLE 新表 AS   
(   
    SELECT *   
    FROM 旧表
);

  

3. 真正的复制一个表。可以用下面的语句。

CREATE TABLE 新表 LIKE 旧表;   
INSERT INTO 新表 SELECT * FROM 旧表;  

CREATE TABLE 新表 SELECT * FROM 旧表;

  

4. 操作不同的数据库。

CREATE TABLE 新表 LIKE 库1.旧表;   
CREATE TABLE 库2.新表 LIKE 库1.旧表;  

  

5. 拷贝一个表中其中的一些字段。

CREATE TABLE 新表 AS   
(   
    SELECT 字段1, 字段2,... FROM 旧表
);

我们也可以拷贝一部分数据

CREATE TABLE 新表 AS

SELECT * FROM 旧表 WHERE LEFT(username,1) = 's'
);
复制旧表的数据到新表
(假设两个表结构一样) 
INSERT INTO 新表 SELECT * FROM 旧表;

(假设两个表结构不一样) 
INSERT INTO 新表
(
  字段1,字段2,.......
) SELECT
  字段1,字段2,......
FROM 旧表;

  

6. 将新建的表的字段改名。

CREATE TABLE 新表 AS   
(   
    SELECT id, username AS uname, password AS pass FROM 旧表
);

  

7.将表1结构复制到表2

SELECT * INTO 表2 FROM 表1 WHERE 1=2;

将表1内容全部复制到表2 
SELECT * INTO 表2 FROM 表1;

  

8. 创建表的同时定义表中的字段信息。

CREATE TABLE 新表
(
    id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY
)
AS
(
    SELECT * FROM 旧表   
); 

 

9. 显示旧表的创建命令

show create table 旧表;

  

posted @ 2018-02-28 15:10  总被人想的静静  阅读(4803)  评论(0编辑  收藏  举报