[英]add new fields to existing table
我敢肯定在stackoverflow有这样的问题,但我只是找不到它:(
我有2个具有相同数据的数据库(“开发人员”数据库和“生产”数据库)。 “生产”数据库是“实时”数据库-现场访问者会看到此数据“开发人员”数据库是我在本地服务器上创建新功能的数据库。
当我向“开发人员”数据库中添加一些新表和旧表中的一些新字段时,我遇到了情况。
现在,我必须将这个新创建的字段和表复制到“生产”数据库中(但只能复制结构,不应复制数据,并且“生产”数据库中的任何数据都不得更改)。
UPD:也许有解决方案,我可以使数据库结构从正在开发的数据库中转储,而当我将其导入生产数据库时,它会自动从所有表中添加所有新字段
我应该使用什么功能?
谢谢。
您要alter table
: http : //dev.mysql.com/doc/refman/5.1/en/alter-table.html
仅复制您可以使用的结构,例如:
jcho360> create table t3 like t2
;
Query OK, 0 rows affected (0.05 sec)
。
如果要在创建结构后复制内容,可以使用:
INSERT INTO t3 SELECT * FROM t2;
如果要复制可以使用的数据(无结构,我是说,PK,FK等)
mysql> create table t4 as select * from t1
;
当然,您也可以使用备份来还原表
如果要添加新列,可以使用
alter table tablename add column newcolumn vartype
;
如果要使用另一个数据库中的表,则可以使用查询,该查询首先调用数据库,然后调用名称,例如
select * from database.tablename;
记住用户也需要对其他数据库的权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.