mysql复制表的数据和结构(可跨越数据库)
将数据从现有表复制到新的数据,在某些情况下非常有用,例如备份数据和复制生产数据进行测试。我们要想将数据从旧表复制到新表,那我们需要使用的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复制表的数据和结构(可跨越数据库)相关推荐
- mysql 复制表结构到一个新表_MySQL复制表数据或表结构到新表中
MySQL复制表数据到新表的几个步骤. 1.MySQL复制表结构及数据到新表 CREATE TABLE new_table SELECT * FROM old_table; 2.只复制 MySQL复制 ...
- Mysql复制表两种方式(复制表结构、复制表结构和数据、复制表中的部分数据、复制表中的部分数据并起别名)
需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE - SELECT 命令,是无法实现的. 本章节将为大家介绍如何完整的复制MySQL数据表,步骤如 ...
- MySQL复制表结构以及表数据
MySQL复制表结构以及数据: create table_new like table_old #完整复制原表的建表语句以建立新表 insert into table_new select * fro ...
- MySQL复制表结构和表数据
转:https://www.cnblogs.com/chLxq/p/11429561.html MySQL复制表结构 表数据 1.复制表结构及数据到新表 CREATE TABLE 新表 SELECT ...
- mysql 表资源,MySQL 复制表的方法
1.mysqldump 执行过程: 一.将数据导出为 sql 文件. mysqldump -h$host -P$port -u$user --add-locks=0 --no-create-info ...
- mysql复制表以及复制数据库
(一)将旧表复制到新表 1.CREATE TABLE新表 SELECT* FROM旧表; 该语句只是复制表结构以及数据,它不会复制与表关联的其他数据库对象,如索引,主键约束,外键约束,触发器等. CR ...
- mysql复制表的几种方式
mysql复制表的几种方式 所描述的方法还请实际测试一下再使用. 1.复制表结构及数据到新表 CREATE TABLE 新表SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都 ...
- mysql复制表的两种方式
mysql复制表的两种方式. 第一.只复制表结构到新表 create table 新表 select * from 旧表 where 1=2 或者 create table 新表 like 旧表 第二 ...
- 如何跨服务器复制表中数据
如何跨服务器复制表中数据 http://www.cnblogs.com/zengxlf/archive/2009/06/22/1508178.html 不同服务器数据库之间的数据操作 不同数据库之间复 ...
最新文章
- Silverlight+WCF 实战-网络象棋最终篇之解决重复的消息提示(八)
- etcd 指定配置文件启动_5步完成 etcd 单机集群部署
- python音乐的数据抓取与分析_Python练习之抓取QQ音乐数据
- 微软或允许 Android 应用运行于 Windows 和 WP
- CentOS 6.5 初始值
- 深入浅出聊聊 Rust WebAssembly(一)
- H.264中IDR帧和I帧区别
- [Android]AndroidBucket增加碎片SubLayout功能及AISubLayout的注解支持
- 残差网络(ResNet)
- Exchange 企业邮件与Windows安全应用 — Exchange 2007 收件人管理
- 最受欢迎中文机器学习课程,台大李宏毅老师公开课2019版上线!
- Wythoff's game
- PHP 必须勾选用户协议,javascript实现用户必须勾选协议实例讲解
- 烤仔万花筒| Reach on Conflux 2021黑客松Demo Day
- 《人月神话》学习指南
- maven环境变量配置?
- 使用curl请求接口
- Star Way To Heaven(LOJ 6322)
- 潮流话机直接对接讯时FXO
- 更改C盘用户名的惨痛教训