数据库 db1 和 db2 在同一台服务器,有 root 账号和密码。
我想将数据库 db1 里的表 table1 复制到数据库 db2 里,数据库 db2 里原来没有表 table2。
请问用命令行怎样写呢?
mysql 命令行好像必须用 use db 选择数据库,然后才能执行操作,但我这个需求是跨数据库的,该怎么办呢?
1
regicide 2018-01-14 16:15:47 +08:00 via iPhone 1
一次性需求的话 navicat 数据传输 搞定
|
2
julyclyde 2018-01-14 16:40:49 +08:00
库是关系的边界
你这是要越界建立关系 从设计上就是错的 别想怎么实现了 |
3
cxbig 2018-01-14 16:49:50 +08:00 1
如果一个账户有权限操作 2 个数据库的话,可以这样做:
INSERT INTO `db2`.`table1` AS `d2t1` (`aa`, `bb`, `cc`) (SELECT `aa`, `bb`, `cc` FROM `db1`.`table1` AS `d1t1` WHERE `d1t1`.`aa` ...) ON DUPLICATE ... 主要意思就是,同一个进程下,可以在 table 前带 db 的名字来区分数据库 |
4
abusizhishen 2018-01-14 17:05:18 +08:00 via Android
navicat
|
5
abusizhishen 2018-01-14 17:05:32 +08:00 via Android
或者 wokerbench
|
6
xsonglive 2018-01-14 17:58:19 +08:00 via Android
三楼说的对
|
7
alvinbone88 2018-01-14 19:41:29 +08:00
CREATE TABLE newdb.mynewtable LIKE olddb.myoldtable;
INSERT newdb.mynewtable SELECT * FROM olddb.myoldtable; ref: https://stackoverflow.com/a/26601428 |