
数据库 db1 和 db2 在同一台服务器,有 root 账号和密码。
我想将数据库 db1 里的表 table1 复制到数据库 db2 里,数据库 db2 里原来没有表 table2。 请问用命令行怎样写呢?
mysql 命令行好像必须用 use db 选择数据库,然后才能执行操作,但我这个需求是跨数据库的,该怎么办呢?
1 regicide 2018-01-14 16:15:47 +08:00 via iPhone 一次性需求的话 navicat 数据传输 搞定 |
2 julyclyde 2018-01-14 16:40:49 +08:00 库是关系的边界 你这是要越界建立关系 从设计上就是错的 别想怎么实现了 |
3 cxbig 2018-01-14 16:49:50 +08:00 如果一个账户有权限操作 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 |