我正在使用Eclipse,Java和Derby数据库。我想尝试更改重写db中的一个表的值。在开始更改之前,我想复制特定的表(不在代码中),以便我可以在必要时恢复原始数据。 Sof google搜索这个网站并没有产生答案。在Eclipse中有一个导出数据库的选项,但它将其称为连接,所以我不会发生什么。
答案 0 :(得分:4)
如果您不确定如何连接数据库并发出sql语句,则需要了解JDBC。 This是一个很好的起点。
如果你问的是SQL,那很简单。您可以基于select语句创建表。
e.g。
create table table2 as select * from table1 with no data;
德比在这方面有点奇怪。您必须指定不带数据,并且创建的表将为空。然后,您可以发出一个插入,如果您愿意,将填充新表。
insert into table2 select * from table1;
新表没有索引。如果需要,您需要创建它们。它可能会保留主键。如果你正在测试它,你应该检查一下。如果它不保留主键,则应在将数据插入表之前创建主键。
答案 1 :(得分:0)
在Eclipse中有一个导出数据库的选项,但它将其称为连接,所以我不确定会发生什么。
如果您不清楚Eclipse的作用,您也可以将整个数据库目录(DERBY_HOME环境变量的内容)压缩到存档中。在进行备份时,数据库不能运行。