logo

[SQLite] 데이터베이스 추가

 

추가

ATTACH DATABASE 문은 현재 데이터베이스 연결에 다른 데이터베이스 파일을 추가합니다. 다음은 sales.db라는 데이터베이스 파일을 현재 데이터베이스 연결에 추가하는 예시입니다. 이 데이터베이스는 내부적으로 sales라는 이름으로 사용됩니다.

ATTACH DATABASE 'sales.db' AS sales;

이제 sales 데이터베이스의 테이블에 접근하려면 sales.table_name 형식으로 참조할 수 있습니다.

 

분리

만약 sales.db 데이터베이스에서 더 이상 작업이 필요 없다면, 다음 명령을 사용하여 분리할 수 있습니다:

DETACH DATABASE sales;
 

트랜잭션

SQLite에서 여러 데이터베이스를 한 번에 사용할 수 있는 기능에 대해 쉽게 설명하자면, 여러 데이터베이스를 하나의 큰 작업(트랜잭션)으로 묶어서 처리할 수 있다는 것입니다. 이런 작업을 "원자적"이라고 하는데, 이는 모든 작업이 성공하거나, 하나라도 실패하면 아무 것도 실행되지 않은 것처럼 처리된다는 의미입니다. 쉽게 말해, 여러 데이터베이스에 걸친 작업을 한 번에 성공시키거나, 실패시 모두 원상복구시키는 것입니다.

하지만, 메인 데이터베이스가 메모리에만 존재하는 ":memory:" 모드이거나, 특정 저장 방식인 "WAL" 모드를 사용하는 경우에는 조금 다릅니다. 이 경우에는 각각의 데이터베이스 파일마다 작업이 독립적으로 처리됩니다. 예를 들어, 컴퓨터에 문제가 생겨서 데이터를 저장하는 도중에 문제가 발생하면, 일부 데이터베이스는 최신 상태로 업데이트되고 다른 일부는 업데이트되지 않을 수 있습니다.

Previous
ANALYZE