本文将着重介绍两个MySQL命令的组合,它将以原有数据表为基础,创建相同结构和数据的新数据表。

这可以帮助你在开发过程中快速的复制表格作为测试数据,而不必冒险直接操作正在运行 的数据表。

示例如下:

将 production 数据库中的 mytbl 表快速复制为 mytbl_new,2个命令如下:

CREATE TABLE mytbl_new LIKE production.mytbl;INSERT mytbl_new SELECT * FROM production.mytbl;

第一个命令是创建新的数据表 mytbl_new ,并复制 mytbl 的数据表结构。

第二个命令是讲数据表 mytbl 中的数据复制到新表 mytbl_new 。

注:production.mytbl是指定要复制表的数据库名称为 production 。它是可选的。

假如没有production. ,MySQL数据库将会假设mytbl在当前操作的数据库。

其它方法:
方案1:
复制整个表

CREATE TABLE new_table SELECT * FROM old_table;

复制,不复制数据

CREATE TABLE new_table SELECT * FROM old_table where 0;

注意:本方案其实只是把select语句的结果建一个表。所以new_table这个表不会有主键、索引。

方案2:
假如我们有以下这样一个表:

id      username    password

1. 下面这个语句会拷贝表结构到新表newadmin中。 (不会拷贝表中的数据)

CREATE TABLE newadmin LIKE admin

2. 下面这个语句会拷贝数据到新表中。 注意:这个语句其实只是把select语句的结果建一个表。所以newadmin这个 表不会有主键,索引。

CREATE TABLE newadmin AS
(
SELECT *
FROM admin
)

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

CREATE TABLE newadmin LIKE admin;
INSERT INTO newadmin SELECT * FROM admin;

4. 我们可以操作不同的数据库。

CREATE TABLE newadmin LIKE shop.admin;
CREATE TABLE newshop.newadmin LIKE shop.admin;

5. 我们也可以拷贝一个表中其中的一些字段。

CREATE TABLE newadmin AS
(
SELECT username, password FROM admin
)

6. 我们也可以讲新建的表的字段改名。

CREATE TABLE newadmin AS
(
SELECT id, username AS uname, password AS pass FROM admin
)

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

CREATE TABLE newadmin AS
(
SELECT * FROM admin WHERE LEFT(username,1) = 's'
)

8. 我们也可以在创建表的同时定义表中的字段信息。

CREATE TABLE newadmin
(
id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY
)
AS
(
SELECT * FROM admin
)

原文:https://www.cnblogs.com/yaoyao1556/p/3813999.html

转载于:https://www.cnblogs.com/azhqiang/p/7832093.html

MySQL中快速复制数据表方法汇总相关推荐

  1. mysql 快速复制_MySQL中快速复制数据表方法汇总

    本文将着重介绍两个MySQL命令的组合,它将以原有数据表为基础,创建相同结构和数据的新数据表. 这可以帮助你在开发过程中快速的复制表格作为测试数据,而不必冒险直接操作正在运行 的数据表. 示例如下: ...

  2. mysql 复制表中的数据_MySQL中快速复制数据表方法汇总

    本文将着重介绍两个MySQL命令的组合,它将以原有数据表为基础,创建相同结构和数据的新数据表. 这可以帮助你在开发过程中快速的复制表格作为测试数据,而不必冒险直接操作正在运行 的数据表. 示例如下: ...

  3. oracle中快速复制数据表(创建数据表)

    1.普通创建表方式如下: create table emp(empno number(4) primary key,ename varchar2(20),sal number(7,2)); 2.快速创 ...

  4. MySql中,复制旧表结构到新表

    # 创建学生表 create table student(age int,name varchar(32))engine myisam charset utf8; insert into studen ...

  5. mysql中复合主键指什么作用_MySQL中什么是数据表的复合主键

    MySQL中什么是数据表的复合主键 发布时间:2020-11-23 14:03:11 来源:亿速云 阅读:108 作者:小新 这篇文章主要介绍MySQL中什么是数据表的复合主键,文中介绍的非常详细,具 ...

  6. 周末杂谈:在MYSQL中,添加数据行后,使用右外连接查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,表中没有的课程列值为空的解决方法

    周末杂谈:在MYSQL中,添加数据行后,使用右外连接查询所有课程的选修情况,要求列出课程编号.课程名称.选修人数,表中没有的课程列值为空的解决方法 实验前期准备 course表(课程表) 在其中: c ...

  7. mysql数据库复制数据表时的风险

    最近在使用redis的缓存技术时,在项目中需要在插入mysql数据表记录的同时,缓存数据到redis.在创建数据表时,为了方便,直接使用复制另外一个数据库中的数据表,结果就悲剧了 package co ...

  8. mysql vacuum_PostgreSQL中快速对系统表实现vacuum full

    PostgreSQL中快速对系统表实现vacuum full vacuum full会锁表,而且效率很低,在实际中不可能使用vacuum来缩小pg_class,,这样会有很长的停机时间. 其实要实现v ...

  9. MySQL快速复制数据库的方法

    http://blog.csdn.net/ssyan/article/details/9292099 MySQL快速复制数据库的方法 2013-07-10 16:0447162人阅读评论(2)收藏举报 ...

最新文章

  1. RMI远程方法调用讲解教程
  2. ISE include 头文件错误的解决办法
  3. 判断python模型是否安装的办法
  4. MATLAB机器学习系列-12:蚁群算法优化原理及其matlab实现
  5. 【BZOJ4417】: [Shoi2013]超级跳马
  6. ABAP function module 的使用
  7. ASP.NET Core托管运行Quartz.NET作业调度详解
  8. oracle监听的动态注册和静态注册
  9. 边缘计算平台类产品概览
  10. Python,Day2 - 数据类型,运算,列表操作,字典
  11. Python源码深度解析—Python提供的C API
  12. SpringCloud观后感
  13. NHibernate的缓存管理机制
  14. 【洋哥聊运营】5点讲透增长
  15. 从分类到选型,一文了解 SITOP 电源
  16. 4 WCF中的RPC和OneWay
  17. Unity Shader 基于 RGB 插值的 Wireframe 描边着色器
  18. python手机销售系统_京东手机销售数据分析kaggle复盘python+tableau分析
  19. 人工智能_游戏AI –行为树简介
  20. 原创:拆机联想Y330笔记本

热门文章

  1. mysql重复你数据标识_MySQL 处理重复数据
  2. 小米路由器4a刷第三方固件_小米路由器4A的断网问题初探
  3. 如何在电脑中使用python_教你怎么在windows上用python获得CPU信息
  4. 用python处理excel表格_使用Python处理excel表格(openpyxl)及表格中的中文处理
  5. 线性判别用于提取词向量_历年试题公开 | 2017级线性代数(I)期末试题
  6. 教师国培计算机计划,国培计划,教师个人发展规划.doc
  7. 数据脱敏和加密_数据脱敏和数据加密的区别--工作需要,对其进行了简单的整理...
  8. 如何拷贝工程_如何获得微信小游戏跳一跳源码以及源代码组合包括哪些
  9. python复制文件夹不阻塞_Python线程,线程不阻塞
  10. spark mlib行矩阵(RowMatrix)入门