MySQL中如何把一个数据库中的表数据,导到另一个数据库的表中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL中如何把一个数据库中的表数据,导到另一个数据库的表中相关的知识,希望对你有一定的参考价值。

现在要把本地服务器上数据库的一个表的数据(比较大,比较多3000条)导到外网服务器上的数据库里面!!!!,,除了用导SQL的方法以外,,,,,,有没有其它的方法将其导到外网的数据库里面,,要用程序来实现,,本来是将本地的导出成XLS再转成CSV格式,再将其读取更新到数据库,但是太大,7M了,,,导出来了一打开就会G掉,有没有其它办法,,,在此请教高手,,谢谢了,解决了加分谢谢
里面有个字段存的是文章比较大, 用SQL导第一 较大的数据会出错,,,第二,导进去数据顺序全部改变了!!!,
我一开始导成Excel,,可是导入的时候,,由于数据太大,那个大字段的导不进去!!郁闷!!
还有其它方法吗????
peiqianmiao 你说的是导出成什么格式的啊!!,还有外网服务器不可能停的,,要停也只能在晚上十二点之后,
cheng830306 你说得轻松写到XML里,,,文章字段里面都带有html样式的文章 ,这几乎是不可能的,,数据太大了
我用的mysql是Navicat for MySQL界面 支持的格式,在下面图片里

把双方的mysql服务都停掉,直接把导出方的数据表文件(就是和数据库表名对应的.frm.myd.myi文件)拷到导入方(注意一个表有三个文件),然后改一下数据表文件名成你要导入的表名,然后启动mysql服务 ,如果导入方原来的表有数据,可以把原来的数据用正常方式导出,然后在工具里面导入合并就可以了,

再有一个可行的方法就是自写代码一行一行的转移数据了
参考技术A 用bcp导出,再导入
导出:

bcp POSSER_JZ..BFBACKDATAJL out D:\BCP\BFBACKDATAJL.txt -c -UBFPUB -PBJCYASGW -SJZ -Jcp850

导入:
bcp AS52..BFBACKDATAJL in D:\BCP\BFBACKDATAJL.txt -c -Usa -P123456 -SKFQ -Jcp850

语法说明:
bcp 导出数据库名..表名 out 文件存放路径 -c -U导出数据库操作用户名 -P操作用户密码 -S服务器名 -J字符集

bcp 导入数据库名..表名 in 文件存放路径 -c -U导入数据库操作用户名 -P操作用户密码 -S导入服务器名 -J字符集
参考技术B 关注这个问题,我第一反应也是用MySQL的方式导出来,没有想到大数据的时候会出问题。

只能关注,等待楼下的答案,祝楼主好运
参考技术C 自己写代码 读一个数据库的数据的一条,向另外一个插入就行了。 参考技术D 用XML吧~~~自己写个php读MYSQL输出为XML,
MYSQLFRONT软件有自带的方法实现

如何将一个数据库中的一个表复制到另一个数据库中的表中

如何将一个数据库中的一个表复制到另一个数据库中的表中两个表的列名不同。有知道的么?SQL语句直接导过去。!

“将一个数据库中的一个表复制到另一个数据库中的表中”的过程如下。

具体步骤:

    首先,打开并连接Sql Server,在源数据库Source_db(源数据库名称)上右键,然后依次点击“编写表脚本为”→“CREATE到”→“新查询编辑器窗口”。

    在第1步产生的编辑器中按”crtl+a“组合键全选内容,然后右键“复制“(或按"crtl+c"键)。

    新建查询,然后右键”粘贴“(或ctrl+v);如图所示,将代码中Source_db(源数据库名)改为target_db(目标数据库名)。接着右键单击”执行“执行代码。

    在目标数据库的表结构中就可以看到被复制过来的表了。

参考技术A

SQL SELECT INTO 语句可用于创建表的备份复件

SELECT INTO 语句

SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。

SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档

语法

可以把所有的列插入新表:

SELECT *
INTO new_table_name [IN externaldatabase] 
FROM old_tablename --或者只把希望的列插入新表:

SELECT column_name(s)
INTO new_table_name [IN externaldatabase] 
FROM old_tablename

注:如果新表存在,新表与旧表列最好是一致的,不然最好是选择对应的列插入

参考技术B 首先,打开并连接Sql Server,在源数据库Source_db(源数据库名称)上右键,然后依次点击“编写表脚本为”→“CREATE到”→“新查询编辑器窗口”。
在第1步产生的编辑器中按”crtl+a“组合键全选内容,然后右键“复制“(或按"crtl+c"键)。
新建查询,然后右键”粘贴“(或ctrl+v);如图所示,将代码中Source_db(源数据库名)改为target_db(目标数据库名)。接着右键单击”执行“执行代码。
然后,在目标数据库的表结构中就可以看到被复制过来的表了。

END
表的数据内容复制
选中目标数据库target_db,然后点击”任务“→”导入数据“。

进入”SQL Server导入导出向导“,根据提示步骤操作。

选择数据源(源数据库)。

选择目标(目标数据库)、指定表复制或查询。

选择源表和源视图:设置源表和目标表后,单击“编辑映射”按钮,在弹出窗口中选中“启用标识插入”。(否则后面会出错)

一直点击“下一步”至最后完成操作。
参考技术C 如果另一个库中没有同名的表
select * into b数据库.dbo.a表 from a数据库.dbo.a表 where 条件

如果是追加到另一个表中
inert into b数据库.dbo.a表
select * from a数据库.dbo.a表 where 条件

不同数据库的格式: [数据库名.所有者名.表名]

INSERT INTO 数据库B.dbo.表2
SELECT * FROM 数据库A.dbo.表1 WHERE ....
参考技术D select * into b数据库.dbo.a表 from a数据库.dbo.a表 where 条件

如果是追加到另一个表中
inert into b数据库.dbo.a表
select * from a数据库.dbo.a表 where 条件

不同数据库的格式: [数据库名.所有者名.表名]

INSERT INTO 数据库B.dbo.表2
SELECT * FROM 数据库A.dbo.表1 WHERE

以上是关于MySQL中如何把一个数据库中的表数据,导到另一个数据库的表中的主要内容,如果未能解决你的问题,请参考以下文章

如何将mysql中的数据导到另一个mysql数据库中?

怎样将一个数据库的数据导到另一个数据库中

mysql把一个数据库中的数据复制到另一个数据库中的表 2个表结构相同

急!!在delphi中如何将sql server 2000数据库中的一个表中的内容全部导到excel表中

如何把PowerDesigner 8的表设计导到EXCEL中

MySQL如何复制表中的一条记录并插入