使用来自localhost的新数据库结构更新服务器上的旧数据库结构的最简单方法是什么?两者都有类似的结构/表格,但我想更新旧的。
我的localhost充满了错误的数据,但我想用更新的结构更新服务器数据库。是否有一种更简单的方法然后逐个浏览表格?有点像git merge
编辑: 更具体地说,如果我有一个具有结构的表
表 - 身份证,姓名,职称,电话,电子邮件(旧)
要更新为
表 - 身份证,姓名,职称,电话,电子邮件,年龄,性别(新)
我的数据库中有这样的多个表,是否有一种合并功能,我可以更新旧数据库的结构以包含新的表字段?
(顺便说一下。我没有从代码中调用mysql语句。我想修改表结构本身,也许是通过phpmyadmin)
答案 0 :(得分:1)
阅读ALTER TABLE的SQL语法。例如:
ALTER TABLE table_name
ADD COLUMN new_column1 VARCHAR(255),
ADD COLUMN new_column2 INTEGER;
[编辑]
提示:要查看需要更改/添加哪些列以同步旧数据库和新数据库,可以将mysqldump
旧模式和新模式保存到不同文件,然后使用diff
工具进行比较它们(注意:只使用模式,而不是完整的数据转储)。在对旧数据库进行增量更改时,两个架构转储看起来会越来越相似。当你把它们完全相同时,你就赢了!
答案 1 :(得分:0)
编写执行必要更新的SQL代码 - 没有魔术按钮。这就是为什么你应该从一开始就获得DB模式的原因,尽管这并不总是可行的。图像必须重新组织100亿行和它需要的时间。