社区
MySQL
帖子详情
如何:从“远程”表将数据导入“本地”表
LeonTown
2011-09-20 10:08:51
如题,
想实现一个类似如下的功能:
INSERT INTO local_table SELECT * FROM remote_table where ...
其中,local_table是本地(内网)的一个数据库中的表,
remote_table是远程(公网)的一个数据库中的表,
两张表的结构完全一样。
请问,该如何实现呢?
用sql或其它语言都行。。。
...全文
207
14
打赏
收藏
如何:从“远程”表将数据导入“本地”表
如题, 想实现一个类似如下的功能: INSERT INTO local_table SELECT * FROM remote_table where ... 其中,local_table是本地(内网)的一个数据库中的表, remote_table是远程(公网)的一个数据库中的表, 两张表的结构完全一样。 请问,该如何实现呢? 用sql或其它语言都行。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fh13760184
2011-09-20
打赏
举报
回复
存储过程 可以远程的 前提是给权限
wwwwb
2011-09-20
打赏
举报
回复
用MYSQLDUMP导出,再导入到本地表中,再做处理
rucypli
2011-09-20
打赏
举报
回复
如果不安装FEDERATED ,则只能通过导入导出数据来完成
wwwwb
2011-09-20
打赏
举报
回复
安装 FEDERATED 引擎才行
建个FEDERATED 表,再访问
示例
CREATE TABLE xxx_b (
id INT(20) NOT NULL AUTO_INCREMENT,
username VARCHAR(32) NOT NULL DEFAULT '',
password VARCHAR(32),
PRIMARY KEY (id)
)
ENGINE=FEDERATED
CONNECTION='mysql://broot:bpassword@268.56.71.11:3306/dbname/b表';
vipper23
2011-09-20
打赏
举报
回复
内网建一个表remote_table 用federate引擎,指向公网的那个remote_table 表,然后用上边的那个语句导入
LeonTown
2011-09-20
打赏
举报
回复
对对,两个库都是mysql
WWWWA
2011-09-20
打赏
举报
回复
什么数据库?MYSQL?
Rotel-刘志东
2011-09-20
打赏
举报
回复
首先创建数据库链接,然后再将远程表导入本地。
ACMAIN_CHM
2011-09-20
打赏
举报
回复
MySQL官方文档
http://dev.mysql.com/doc/refman/5.1/zh/index.html
ACMAIN_CHM
2011-09-20
打赏
举报
回复
另外如果只是某个表,则可以直接
select ..INTO OUTFILE 将表中记录查询输出到文件,然后再从数据文件 LOAD DATA INFILE 到表中。
[Quote]
13.2.5. LOAD DATA INFILE语法
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char' ]
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number LINES]
[(col_name_or_user_var,...)]
[SET col_name = expr,...)]
LOAD DATA INFILE语句用于高速地从一个文本文件中读取行,并装入一个表中。文件名称必须为一个文字字符串。
要了解有关INSERT和LOAD DATA INFILE的效率的对比和有关LOAD DATA INFILE加速的更多信息,请参见7.2.16节,“INSERT语句的速度”。
由character_set_database系统变量指示的字符集被用于解释文件中的信息。SET NAMES和character_set_client的设置不会影响对输入的解释。
注意,目前不能载入UCS2数据文件。
您也可以通过使用mysqlimport应用程序载入数据文件;通过向服务器发送一个LOAD DATA INFILE语句实现此功能。--local选项用于使mysqlimport从客户主机中读取数据文件。如果客户端和服务器支持压缩协议,则您可以指定—compress选项提高在慢速网络中的性能。请参见8.10节,“mysqlimport:数据导入程序。
如果您使用LOW_PRIORITY,则LOAD DATA语句的执行被延迟,直到没有其它的客户端从表中读取为止。
如果一个MyISAM表满足同时插入的条件(即该表在中间有空闲块),并且您对这个MyISAM表指定了CONCURRENT,则当LOAD DATA正在执行时,其它线程会从表中重新获取数据。即使没有其它线程在同时使用本表格,使用本选项也会略微影响LOAD DATA的性能。
如果指定了LOCAL,则被认为与连接的客户端有关:
· 如果指定了LOCAL,则文件会被客户主机上的客户端读取,并被发送到服务器。文件会被给予一个完整的路径名称,以指定确切的位置。如果给定的是一个相对的路径名称,则此名称会被理解为相对于启动客户端时所在的目录。
· 如果LOCAL没有被指定,则文
[/Quote]
wwwwb
2011-09-20
打赏
举报
回复
[Quote=引用 9 楼 leontown 的回复:]
引用 7 楼 wwwwb 的回复:
用MYSQLDUMP导出,再导入到本地表中,再做处理
导入导出具体怎么做啊?
[/Quote]
mysqldump -uroot -p >123.txt
mysql -uroot -p <123.txt
ACMAIN_CHM
2011-09-20
打赏
举报
回复
存储过程不行。
MYSQLDUMP可以把远程的记录导出,然后再导入到本地数据库。
mysqldump 的用法,可以参考手册中的描述和例子。
[Quote]
8.8. mysqldump:数据库备份程序
mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个SQL服务器(不一定是一个MySQL服务器)。转储包含创建表和/或装载表的SQL语句。
如果你在服务器上进行备份,并且表均为MyISAM表,应考虑使用mysqlhotcopy,因为可以更快地进行备份和恢复。参见8.9节,“mysqlhotcopy:数据库备份程序”。
有3种方式来调用mysqldump:
shell> mysqldump [options] db_name [tables]
shell> mysqldump [options] ---database DB1 [DB2 DB3...]
shell> mysqldump [options] --all--database
如果没有指定任何表或使用了---database或--all--database选项,则转储整个数据库。
要想获得你的版本的mysqldump支持的选项,执行mysqldump ---help。
如果运行mysqldump没有--quick或--opt选项,mysqldump在转储结果前将整个结果集装入内存。如果转储大数据库可能会出现问题。该选项默认启用,但可以用--skip-opt禁用。
如果使用最新版本的mysqldump程序生成一个转储重装到很旧版本的MySQL服务器中,不应使用--opt或-e选项。
mysqldump支持下面的选项:
· ---help,-?
显示帮助消息并退出。
· --add-drop--database
在每个CREATE DATABASE语句前添加DROP DATABASE语句。
· --add-drop-tables
在每个CREATE TABLE语句前添加DROP TABLE语句。
· --add-locking
用LOCK TABLES和UNLOCK TABLES语句引用每个表转储。重载转储文件时插入得更快。参见7.2.16节,“INSERT语句的速度”。
· --all--database,-A
转储所有数据库中的所有表。与使用---database选项相同,在命令行中命名所有数据库。
· --allow-keywords
允许创建关键字列名。应在每个列名前面加上表名前缀。
· ---comments[={0|1}]
如果设置为 0,禁止转储文件中的其它信息,例如程序版本、服务器版本和主机。--skip—comments与---comments=0的结果相同。 默认值为1,即包括额外信息。
· --compact
产生少量输出。该选项禁用注释并启用--skip-add-drop-tables、--no-set-names、--skip-disable-keys和--skip-add-locking选项。
· --compatible=name
产生与其它数据库系统或旧
[/Quote]
LeonTown
2011-09-20
打赏
举报
回复
[Quote=引用 8 楼 fh13760184 的回复:]
存储过程 可以远程的 前提是给权限
[/Quote]
这个存储过程的代码怎么写呢?
LeonTown
2011-09-20
打赏
举报
回复
[Quote=引用 7 楼 wwwwb 的回复:]
用MYSQLDUMP导出,再导入到本地表中,再做处理
[/Quote]
导入导出具体怎么做啊?
Socket编程系列之7:RCF
远程
调用框架编程实战
Socket编程系列之7:RCF
远程
调用框架编程实战Socket编程系列之7:RCF
远程
调用框架编程实战,本课程包括Windows搭建RCF环境及Helloworld案例、Linux开发必备之GCC与CMake、Linux编译RCF及跨平台案例实战、基于RCF框架编程原理流程步骤解析、基于RCF框架的异步调用案例实战、基于RCF框架的发布订阅案例实战等。-------------------------------------------------------注意,本系列Socket编程系列初步计划包括如下课程:Socket编程系列之1:Linux-API网络编程入门实战Socket编程系列之2:Windows-API网络编程入门实战Socket编程系列之3:Libevent网络编程入门实战Socket编程系列之4:Libcurl网络编程入门实战Socket编程系列之5:Boost-ASIO网络编程入门实战Socket编程系列之6:Libuv网络编程入门实战Socket编程系列之7:RCF
远程
调用框架编程实战
SQL:
远程
服务器
数据
导入
到本地
数据
库(保姆级步骤)
1.打开SQL,登录本地服务器 2.建立一个你想要
导入
数据
的
数据
库,这里以studentdb为例 准备就绪之后,怎么把
远程
数据
库中的
数据
导入
到本地的
数据
库呢?重点来了! 3.找到“系统
数据
库”,在任何一个
数据
库上面点击右键,选择“任务”->"
导入
数据
" 4. 点击“
导入
数据
”后,会弹出“SQL Server
导入
和导出向导”,我们直接点“下一步”就可以 5.然后到了“选择
数据
源”的这个对话框
数据
源:
远程
数据
库上的
数据
服务器名称:输入
远程
数据
库的IP地址 身份验证..
Navicat将
远程
Mysql
数据
库
数据
导入
本地
前言 为了
数据
一致使用的是
远程
数据
库,有利也有弊。利是保持了
数据
的统一,弊则是当
远程
的
数据
库关机了则不方便开发,或者操作时可能误操作把
表
数据
或
表
结构破坏。为了避免这些情况可以传输一份
数据
到本地的Mysql中。 正文 1.使用的是Navicat工具 2.连接的
数据
库是MySQL 使用
数据
传输的方式进行
远程
导入
本地 Navicat版本不同
数据
传输的位置则不同,如下我的是在顶端的工具栏中。 或者右击
数据
库在如下所示 选择
数据
传输后,设置源的连接、
数据
库、要复制的
表
。设置目标的连接、
数据
库。最后点击开
从服务器导出
数据
库文件到本地,本地
数据
库与
远程
数据
库
数据
的
导入
导出
在SQL SERVER
数据
库中,可以使用
数据
导入
导出功能随时保持本地与
远程
数据
的一致性,下面讲解如何实现本地与
远程
数据
的
导入
导出功能前提条件是:无论在本地还是
远程
SQL服务器,你都必须拥有帐户和密码,保证能进入SQL SERVER
数据
库;
导入
导出功能,可以在本地和服务器两者之间进行
数据
的传输,保证
数据
的一致性!下面以
导入
为例,说明一下如何使用(将
远程
数据
导入
到本地
数据
,操作就是在本地进行操作)1:...
impdp
远程
导入
oracle
数据
库,impdp
导入
远程
数据
库
使用expdp(非本地)
远程
导出
数据
背景:前段时间,需要从异地一个测试
数据
库中将测试
数据
(一张
表
)
导入
本地库,
表
数据
量大约500万,字段160多个,开始用了exp/imp方式,速度奇慢,不能忍,于是转而使用expdp/impdp方式。expdp/impd介绍:从10g开始,除了传统的exp/imp
导入
导出工具外,Oracle...文章bisal2015-04-151100浏览量使用 EXPDP 远...
MySQL
56,678
社区成员
56,708
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章