mysql - 如何通过 shell 命令从 MySQL 转储中恢复单个特定列?

标签 mysql ssh

如何通过 ssh 命令从 MySQL 转储中只恢复某一列?

要恢复整个数据库,它是这样的:

mysql -u [user] -p[pass] db < db_dump.sql 

但我只需要恢复其中一个表中的特定列。

非常感谢任何建议。

最佳答案

转储文件包含恢复整行而非单个列的 INSERT 语句。所以你不能只恢复一列。

你可以做的是将它恢复到第二个数据库

mysqladmin -u [user] -p[pass] create db2 
mysql -u [user] -p[pass] db2 < db_dump.sql 

然后您可以进入 SQL 环境,将一列复制到主数据库中的相应行。

mysql> UPDATE db.mytable JOIN db2.mytable USING (id)
       SET db.one_column = db2.one_column;

当然,我假设要复制的表和列的名称,以及主键列。但它应该作为帮助您入门的通用示例。

关于mysql - 如何通过 shell 命令从 MySQL 转储中恢复单个特定列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48044755/

相关文章:

php - 从MySQL中的3个表中选择多个字段,但该字段不能要求存在于第三个表中

linux - Bash:使用 SSH 启动长时间运行的远程命令并收集其 PID

git - 无法创建目录 '/c/\303\234/.ssh'

mysql - SSH session 关闭时的 liquibase 行为

mysql - 按优化分组

php - 浏览数据库行

hadoop - 如何在其多节点集群中启动hadoop服务时对slave进行无密码ssh访问..

git - 运行 `git clone` 时,`ansible-galaxy install -r requirements.yml` 在私有(private) git 仓库中的角色失败

python - 为什么我的 .fetchone 函数返回 "none"?

mysql - [PHP-PDO 是什么导致我的查询变慢?