MySQL拷贝表的几种方式

Posted 总被人想的静静

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 旧表;

  

























以上是关于MySQL拷贝表的几种方式的主要内容,如果未能解决你的问题,请参考以下文章

mysql复制表的几种方式

mysql copy复制拷贝表数据及结构的几种方式(转)

Mysql—Mysql磁盘空洞的成因以及重建表的几种方式

Oracle中 多表连接到底有哪几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式