将数据从现有表复制到新的数据,在某些情况下非常有用,例如备份数据和复制生产数据进行测试。我们要想将数据从旧表复制到新表,那我们需要使用的sql案例如下:

CREATE TABLE new_table
SELECT col, col2, col3
FROMexisting_table;

    上面的sql大致的意思就是,首先使用create table语句中指定的名称创建一个新表,完事嘞,新表的结构由SELECT语句的结果集定义,再来就是,MySQL会自动将来自SELECT语句的数据填充到新表中。大致的意思和流程就是这样了。就这个案例的sql来说,对于大多数情况是满足的,但是,我们有时候需要的仅仅是部分满足需要的数据,那么,我们要将部分数据从现有表复制到新表中,就需要在SELECT语句中使用where子句来完成操作了。大家来看个案例:

CREATE TABLE new_table
SELECT col1, col2, col3
FROMexisting_table
WHEREconditions;

    完事,大概就差不多了。但是我们在创建之前,检查我们要创建的表是否已存在是非常重要的。 为此,我们可以在CREATE TABLE语句中使用IF NOT EXIST子句。 所以我们来看将数据从现有表复制到新的表的完整命令:

CREATE TABLE IF NOT EXISTS new_table
SELECT col1, col2, col3
FROMexisting_table
WHEREconditions;

    还有一点我需要说明的就是,上面的声明只是复制表及其数据,它不会复制与表关联的其他的诸如索引、主键约束、外键约束触发器等数据库对象。如果需要复制这些东西的话,嘿嘿,也不是没有办法,请看如下sql:

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

    上面是两个sql,第一个是创建和旧表一样的一个新表,完事第二条sql就是来插入我们需要的数据的。完事大概的就记录的差不多了。因为思路比较简单哈,咱也没有弄什么实例,完事咱们再来看下跨库复制表就算是完事了哈。先来看个sql的例子:

CREATE TABLE destination_db.new_table
LIKE source_db.existing_table;INSERT destination_db.new_table
SELECT *
FROM source_db.existing_table;

    上面共有两个sql,第一个sql通过从源数据库(source_db)复制现有表(existing_table)到目标数据库(destination_db)中创建一个新表new_table。完事第二个sql将数据从源数据库中的现有(existing_table)表复制到目标数据库中的新表。大致就是这么回事了。嘿嘿,今天就到这里了。

    如果感觉不错的话,请多多点赞支持哦。。。



mysql复制表的数据和结构(可跨越数据库)相关推荐

  1. mysql 复制表结构到一个新表_MySQL复制表数据或表结构到新表中

    MySQL复制表数据到新表的几个步骤. 1.MySQL复制表结构及数据到新表 CREATE TABLE new_table SELECT * FROM old_table; 2.只复制 MySQL复制 ...

  2. Mysql复制表两种方式(复制表结构、复制表结构和数据、复制表中的部分数据、复制表中的部分数据并起别名)

    需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE - SELECT 命令,是无法实现的. 本章节将为大家介绍如何完整的复制MySQL数据表,步骤如 ...

  3. MySQL复制表结构以及表数据

    MySQL复制表结构以及数据: create table_new like table_old #完整复制原表的建表语句以建立新表 insert into table_new select * fro ...

  4. MySQL复制表结构和表数据

    转:https://www.cnblogs.com/chLxq/p/11429561.html MySQL复制表结构 表数据 1.复制表结构及数据到新表 CREATE TABLE 新表 SELECT ...

  5. mysql 表资源,MySQL 复制表的方法

    1.mysqldump 执行过程: 一.将数据导出为 sql 文件. mysqldump -h$host -P$port -u$user --add-locks=0 --no-create-info ...

  6. mysql复制表以及复制数据库

    (一)将旧表复制到新表 1.CREATE TABLE新表 SELECT* FROM旧表; 该语句只是复制表结构以及数据,它不会复制与表关联的其他数据库对象,如索引,主键约束,外键约束,触发器等. CR ...

  7. mysql复制表的几种方式

    mysql复制表的几种方式 所描述的方法还请实际测试一下再使用. 1.复制表结构及数据到新表 CREATE TABLE 新表SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都 ...

  8. mysql复制表的两种方式

    mysql复制表的两种方式. 第一.只复制表结构到新表 create table 新表 select * from 旧表 where 1=2 或者 create table 新表 like 旧表 第二 ...

  9. 如何跨服务器复制表中数据

    如何跨服务器复制表中数据 http://www.cnblogs.com/zengxlf/archive/2009/06/22/1508178.html 不同服务器数据库之间的数据操作 不同数据库之间复 ...

最新文章

  1. Silverlight+WCF 实战-网络象棋最终篇之解决重复的消息提示(八)
  2. etcd 指定配置文件启动_5步完成 etcd 单机集群部署
  3. python音乐的数据抓取与分析_Python练习之抓取QQ音乐数据
  4. 微软或允许 Android 应用运行于 Windows 和 WP
  5. CentOS 6.5 初始值
  6. 深入浅出聊聊 Rust WebAssembly(一)
  7. H.264中IDR帧和I帧区别
  8. [Android]AndroidBucket增加碎片SubLayout功能及AISubLayout的注解支持
  9. 残差网络(ResNet)
  10. Exchange 企业邮件与Windows安全应用 — Exchange 2007 收件人管理
  11. 最受欢迎中文机器学习课程,台大李宏毅老师公开课2019版上线!
  12. Wythoff's game
  13. PHP 必须勾选用户协议,javascript实现用户必须勾选协议实例讲解
  14. 烤仔万花筒| Reach on Conflux 2021黑客松Demo Day
  15. 《人月神话》学习指南
  16. maven环境变量配置?
  17. 使用curl请求接口
  18. Star Way To Heaven(LOJ 6322)
  19. 潮流话机直接对接讯时FXO
  20. 更改C盘用户名的惨痛教训

热门文章

  1. 2020知到计算机文化基础答案,2021知到网课 创业十步 单元测试答案
  2. 实时控制软件第二周作业 停车场门禁控制系统的状态机设计
  3. 解除excel工作表密码保护方法
  4. C++ doesn't name a type
  5. 基于STM32与红外感应开关的自动门设计与实现(结构+设计)
  6. 二阶系统表达式 稳态灵敏度
  7. dst发育筛查有意义吗_Dst发育筛查是什么?
  8. tf.nn.xw_plus_b真方便好用
  9. 怎么用python画出Excel表格数据的残差图
  10. 熵(entropy)的定义