如何快速把一个数据库表中的数据插入到另一个数据库的表中

如何快速把一个数据库表中的数据插入到另一个数据库的表中,第1张

右键原表的数据,任务--导出数据,然后在另外一个数据库里,导入数据。(所有数据导入)

如果是第一个数据库的某一个表,到另外一个数据库的某一个表,其他数据不影响。右键原表的数据库,任务--生成脚本--选择需要数据的表,然后在另外一个数据库,右键--任务--还原数据库,选择导出的数据库生成的脚步,就可以了。

数据库表间数据复制在利用数据库开发时,常常会将一些表之间的数据互相导入。当然可以编写程序实现,但是,程序常常需要开发环境,不方便。最方便是利用sql语言直接导入。既方便而修改也简单。以下就是导入的方法。

1。表结构相同的表,且在同一数据库(如,table1,table2)

Sql:insertintotable1selectfromtable2(完全复制)

insertintotable1selectdistinctfromtable2(不复制重复纪录)

insertintotable1selecttop5fromtable2(前五条纪录)

2。不在同一数据库中(如,db1table1,db2table2)

sql:insertintodb1table1selectfromdb2table2(完全复制)

insertintodb1table1selectdistinctfromdb2table2(不复制重复纪录)

insertintotdb1able1selecttop5fromdb2table2(前五条纪录)

3表结构不同的表或复制部分纪录(如,dn_user,dn_user2)

a建一个新表[DN_UserTemp](在老表dn_user上增加一列)

把双方的mysql服务都停掉,直接把导出方的数据表文件(就是和数据库表名对应的frmmydmyi文件)拷到导入方(注意一个表有三个文件),然后改一下数据表文件名成你要导入的表名,然后启动mysql服务

,如果导入方原来的表有数据,可以把原来的数据用正常方式导出,然后在工具里面导入合并就可以了,

再有一个可行的方法就是自写代码一行一行的转移数据了

如果是SQL SERVER 2005及以上版本你可以先在目标数据库建立一个连接服务器(服务器对象->连接服务器)

然后就可以直接在本数据库调用想要复制的表了。有个into可以将表结构和数据直接复制过来,语法如下

SELECT  INTO 新表的表名

FROM 连接服务器名称数据库名称dbo需要复制的表名

你是什么数据库如果支持insert

into

x

(select

from

x)的话就很容易了

加入你要把a表的数据导入到数据库b的c表

首先把你要a表的数据导出来,这个应该很容易吧

然后在b库建立一个同a表结构一样的临时表d,把从a表导出的数据导入到d表,然后执行sql:insert

into

c

(select

from

d),期间如果有主键约束问题的话,把c表没有而d表有的数据过滤出来再插入,如果数据库支持子查询的话就很好办,如果不支持的话就查出来后再建另一个临时表吧

MySQL数据库的导入,有两种方法:

1) 先导出数据库SQL脚本,再导入;

2) 直接拷贝数据库目录和文件。

在不同 *** 作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。

所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。

2 方法一 SQL脚本形式

*** 作步骤如下:

21 导出SQL脚本

在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump命令行,导出SQL脚本。

211 用phpMyAdmin工具

导出选项中,选择导出“结构”和“数据”,不要添加“DROP DATABASE”和“DROP TABLE”选项。

选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。

将导出的SQL文件保存下来。

212 用mysqldump命令行

命令格式

mysqldump -u用户名 -p 数据库名 > 数据库名sql

范例:

mysqldump -uroot -p abc > abcsql

(导出数据库abc到abcsql文件)

提示输入密码时,输入该数据库用户名的密码。

22 创建空的数据库

通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。

23 将SQL脚本导入执行

同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。

231 用phpMyAdmin工具

从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。

在"SQL"菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。

注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件

比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。

gzip使用方法:

# gzip xxxxxsql

得到

xxxxxsqlgz文件。

提示输入密码时,输入该数据库用户名的密码。

3 直接拷贝

如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和 *** 作系统之间可能不兼容,要慎用。

31 准备原始文件

用tar打包为一个文件

32 创建空数据库

33 解压

在临时目录中解压,如:

cd /tmp

tar zxf mydbtargz

34 拷贝

将解压后的数据库文件拷贝到相关目录

cd mydb/

cp /var/lib/mysql/mydb/

对于FreeBSD:

cp /var/db/mysql/mydb/

35 权限设置

将拷贝过去的文件的属主改为mysql:mysql,权限改为660

chown mysql:mysql /var/lib/mysql/mydb/

chmod 660 /var/lib/mysql/mydb/

什么系统?两个库是不是在同一台机?

linux下个人做法:

1同一台机

用mysqldump导出表数据(具体使用可以查一下)

mysqldump

-h

host

-P

port

-p

password

-u

user

database

--default-character-set=utf8

--add-drop-table

tablename

-r

/tmp/tablesql

再导入数据

mysqldump

-h

host

-P

port

-p

password

-u

user

database

tablename

</tmp/tablenamesql

或者在进入mysql后用source命令导入。

2不同的机,就需要先把数据文件导出,然后复制到另外一台机,再进行1的导入 *** 作。

windows下没试过,一般都直接用phpMyAdmin来 *** 作了,界面 *** 作没什么说的。

以上就是关于如何快速把一个数据库表中的数据插入到另一个数据库的表中全部的内容,包括:如何快速把一个数据库表中的数据插入到另一个数据库的表中、SQL中复制一个表到另外一个数据库中(sql复制一个表数据到另一个表)、MySQL中如何把一个数据库中的表数据,导到另一个数据库的表中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9471392.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存