2012-10-11 3 views
1

Eclipse, Java 및 Derby 데이터베이스를 사용하고 있습니다. db의 테이블 중 하나를 다시 쓰는 값을 변경하여 실험하고 싶습니다. 변경을 시작하기 전에 필요한 경우 원본 데이터를 복원 할 수 있도록 특정 테이블 (코드 제외)을 복사하려고합니다. 인터넷 검색 및 검색이 사이트에 대한 답변을 얻지 못했습니다. 이클립스에서는 db를 내보내는 옵션이 있지만 연결이라고 부르므로 나는 어떤 일이 일어날 지 알지 못한다.더비 테이블을 복사하는 방법

답변

0

이클립스에는 db를 내보내는 옵션이 있지만 연결이라고 부르기 때문에 어떤 일이 발생할지 확신 할 수 없습니다.

Eclipse가하는 것이 명확하지 않은 경우 전체 데이터베이스 디렉토리 (DERBY_HOME 환경 변수의 내용)를 압축 파일로 압축 할 수 있습니다. 백업을 수행하는 동안 데이터베이스가 실행 중이 지 않아야합니다.

+0

응답 해 주셔서 감사합니다. 전체 데이터베이스를 압축하는 것은 해결책이지만, 단순히 테이블을 내보내고 나중에 복원하는 것이 가능할 것이라고 생각했습니다. 보이지 않습니다. – ron

4

데이터베이스에 연결하고 sql 문을 실행하는 방법에 대해 잘 모르는 경우 JDBC에 대해 알아야합니다. This은 좋은 출발점입니다.

SQL에 대해 묻는다면 매우 간단합니다. select 문을 기반으로 테이블을 만들 수 있습니다.

create table table2 as select * from table1 with no data; 

더비는이 영역에서 조금 이상합니다. 데이터가없는 경우를 지정해야하며 작성된 테이블은 비어 있습니다. 원하는 경우 새 테이블을 채울 삽입을 발행 할 수 있습니다.

insert into table2 select * from table1; 

새 테이블에는 색인이 없습니다. 원하는 경우 생성해야합니다. 기본 키가 유지 될 수 있습니다. 만약 당신이 그것을 테스트하고 있는지 확인해야합니다. 기본 키가 유지되지 않으면 데이터를 테이블에 삽입하기 전에 기본 키를 만들어야합니다.

+0

또 다른 가능성은 실험 후에 복원 할 수 있도록 전체 데이터베이스의 백업을 만드는 것입니다. –

+0

create 문에서 table2 앞에 'table'이 누락되었습니다. 읽어야합니다 : 'create table2 as select * from table1 from data; ' – Ramses

+0

수정 됨. 감사 ! – Bill

관련 문제