Mysql复制表结构、表数据的方法_Mysql

本文给大家分享了好几种复制表结构、表数据的示例介绍,具体详情请看下文吧。

1、复制表结构及数据到新表

CREATE TABLE 新表SELECT * FROM 旧表

这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删除。

不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key、Extra(auto_increment)等属性。需要自己用"alter"添加,而且容易搞错。

2、只复制表结构到新表

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

或CREATE TABLE 新表LIKE 旧表

3、复制旧表的数据到新表(假设两个表结构一样)

INSERT INTO 新表SELECT * FROM 旧表

4、复制旧表的数据到新表(假设两个表结构不一样)

INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表

5、可以将表1结构复制到表2

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

6、可以将表1内容全部复制到表2

SELECT * INTO 表2 FROM 表1

7、 show create table 旧表;

这样会将旧表的创建命令列出。我们只需要将该命令拷贝出来,更改table的名字,就可以建立一个完全一样的表

8、mysqldump

用mysqldump将表dump出来,改名字后再导回去或者直接在命令行中运行

9、复制旧数据库到新数据库(复制全部表结构并且复制全部表数据)

#mysql -u root -ppassword
>CREATE DATABASE new_db;
#mysqldump old_db -u root -ppassword--skip-extended-insert --add-drop-table | mysql new_db -u root -ppassword

10、表不在同一数据库中(如,db1 table1, db2 table2)
sql: insert into db1.table1 select * from db2.table2 (完全复制)
insert into db1.table1 select distinct * from db2.table2(不复制重复纪录)
insert into tdb1.able1 select top 5 * from db2.table2 (前五条纪录)以上内容就是本文的全部叙述,希望大家喜欢。

时间: 2024-09-26 04:44:12

Mysql复制表结构、表数据的方法_Mysql的相关文章

mysql 复制表结构和数据实例代码_Mysql

在mysql数据库开发中,我们有时候需要复制或拷贝一张表结构和数据到例外一张表,这个时候我们可以使用create ... select ... from语句来实现,本文章向大家介绍mysql复制表结构和数据一个简单实例,  比如现在有一张表,我们要将该表复制一份,以备以后使用,那么如何使用mysql语句来实现呢?其实我们可以直接使用create ... select ... from语句来实现,具体实现方法请看下面实例.  我们先来创建一张Topic表,创建Topic表的SQL语句如下: mys

MySQL误操作后快速恢复数据的方法_Mysql

摘要: 利用binlog闪回误操作数据. 基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表没了.假如这还是线上环境核心业务数据,那这事就闹大了.误操作后,能快速回滚数据是非常重要的. 传统解法 用全量备份重搭实例,再利用增量binlog备份,恢复到误操作之前的状态.然后跳过误操作的SQL,再继续应用binlog.此法费时费力,不值得再推荐. 利用binlog2sql快速闪回 首先,确认你的MySQ

MySQL复制出错 Last_SQL_Errno:1146的解决方法_Mysql

背景:我们在做数据迁移或者拆分的时候,使用Tablespace transcation 这种解决方案时,很有可能就会遇到 从库复制出错,报: Last_SQL_Errno: 1146 那么具体错误内容可能会有如下: Last_SQL_Error: Error 'Table 'spider.tb_city_population_rank' doesn't exist' on query. Default database: 'spider'. Query: 'alter table tb_city

MySQL 文本文件的导入导出数据的方法_Mysql

MySQL写入数据通常用insert语句,如 复制代码 代码如下: insert into person values(张三,20),(李四,21),(王五,70)-; 但有时为了更快速地插入大批量数据或交换数据,需要从文本中导入数据或导出数据到文本. 一. 建立测试表,准备数据 首先建立一个用于测试的表示学生信息的表,字段有id.姓名.年龄.城市.薪水.Id和姓名不 能为空. 复制代码 代码如下: create table person( id int not null auto_increm

mysql 复制表数据,表结构的3种方法

 什么时候我们会用到复制表?例如:我现在对一张表进行操作,但是怕误删数据,所以在同一个数据库中建一个表结构一样,表数据也一样的表,以作备份.如果用mysqldump比较麻烦,备份.MYD,.MYI这样的文件呢,操作起来也还是麻烦. 一,复制表结构 方法1: mysql> create table a like users; //复制表结构 Query OK, 0 rows affected (0.50 sec)   mysql> show tables; +------+ | Tables_i

MySQL复制表结构 表数据sql语句总结

复制整个表  代码如下 复制代码 create table new_table select * from old_table; 复制表,不复制数据  代码如下 复制代码 create table new_table select * from old_table where 0; 主键,索引,自增等其他额外特征不会被带到新表中.这点和其他的数据库产品类似. 上面为核心两句了 1.MySQL复制表结构及数据到新表  代码如下 复制代码 CREATE TABLE `新表` SELECT * FRO

sql server-不同数据库,不同表结构之间数据迁移

问题描述 不同数据库,不同表结构之间数据迁移 现在新旧系统切换,需要在新库中把老库的一些表数据导入到新库,但是新库的表结构是经过优化的,导致了新.老库表结构不一样的情况,请教一个迁移方案,谢谢(老库是sqlserver,新库是mysql) 解决方案 不同数据库表之间表数据复制不同数据库之间复制表的数据的方法:不同数据库之间复制表的数据的方法 解决方案二: 不同数据库表之间表数据复制不同数据库之间复制表的数据的方法:不同数据库之间复制表的数据的方法 解决方案三: 你数据库表的结构都有改变了.一般是

Excel表格中汇总多个数据表中的数据的方法

  Excel表格中汇总多个数据表中的数据的方法           1.打开需要处理的工作簿,在这个工作簿中,"11月采购表"和"12月采购表"工作表包含需要合并的数据,如图1所示."合计"工作表用于放置进行合并计算后的数据,其结构如图2所示. 图1 需要合并的两张工作表 图2 "合计"工作表的结构 2.在"合计"工作表中单击选择放置合并计算结果的单元格区域中的第一个单元格,然后在功能区"数据&

Oracle数据库向MS Sql表结构及数据如何迁移?

问题描述 新来的经理三把火了,要我们把数据库改了,可是我们没有数据库迁移的经验,网上的博客都是模棱两可的.请教下各位大牛.Oracle数据库向MS Sql2000表结构及数据如何迁移?我们使用了DTS但是提示"未知错误",就不得不中断,请问数据库迁移还有别的办法吗?或者这种未知错误有解? 解决方案 参考http://www.sql-server-performance.com/2003/migrating-from-oracle-to-sql-server/我其实为吐槽来的.Oracl