如何仅在MySQL中的数据库中转储一个表的结果并复制到具有相同结构的另一个远程空表?

时间:2010-04-25 08:24:16

标签: mysql mysqldump mysqladmin

这是一个长句,有谁知道?

2 个答案:

答案 0 :(得分:3)

创建dump

mysqldump --user [username] --password=[password] --no-create-info [database name] [table name] > /tmp/dump.sql

要恢复:

mysql --u [username] --password=[password] [database name] [table name] < /tmp/dump.sql

答案 1 :(得分:1)

有些事情是这样的:

SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename
WHERE 1=0

我不确定这适用于我的SQL,但你明白了。

这不会复制PK,FK,索引,存储过程或其他任何内容。只是列和数据类型。

W3Schools

D'哦

我一定误解了你的问题。差不多凌晨3点就过去了。

好的,所以可能有更好的方法来做到这一点,但这可以完成工作。

SELECT  CONCAT('INSERT INTO (COL1, COL2) VALUES (',COL1,COL2,');');

您需要为某些数据类型添加'。

SELECT  CONCAT('INSERT INTO (COL1, COL2) VALUES (',COL1,''' ''',COL2,');');

获取输出并在远程数据库上运行。