使用软件 mySQL Query
Browser,或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在当前操作的数据库。
另外:在mysql数据库中复制数据为:
select * into desTable from
sourceTable在mssql中支持,在mysql中不支持
-----------------------------------------------------------------------------------------------------
Michael:
特别注意如果两个表均有重复数据,则需要使用ignore关键字,否则会出错并中断插入。
Sample:
INSERT ignore 目标库.目标表 SELECT * FROM 源库.源表;
IGNORE的使用
IGNORE是MySQL相对于标准SQL的扩展。如果在新表中有重复关键字,或者当STRICT模式启动后出现警告,则使用IGNORE控制ALTER
TABLE的运行。如果没有指定IGNORE,当重复关键字错误发生时,复制操作被放弃,返回前一步骤。如果指定了IGNORE,则对于有重复关键字的行,只使用第一行,其它有冲突的行被删除。并且,对错误值进行修正,使之尽量接近正确值。insert
ignore into tb(...)
value(...)这样不用校验是否存在了,有则忽略,无则添加.