본문 바로가기

DB/SQLite

여러 데이터 합치기 (attach 명령)

동일한 데이터가 들어있는 sqlit3 db 파일이 있다.

하나로 합치려고 하는데 어떻게 하면 되나?


1. 우선은 합칠 파일을 생성한다.

# sqlite3 2016-08_ux_behavior_log.db

2. .schema 명령으로 합칠 DB 테이블 생성한다.

다른 콘솔에서

# sqlite3 2016-08-01_ux_behavior_log.db

sqlite> .schema

CREATE TABLE log (user INT, time DATETIME, server TEXT, thread TEXT, checkoutId INT, page TEXT, action TEXT, vals TEXT,

before TEXT, beforeType TEXT, changed TEXT, current TEXT, currentType TEXT, value TEXT);

#1의 콘솔에서

sqlite> CREATE TABLE log (user INT, time DATETIME, server TEXT, thread TEXT, checkoutId INT, page TEXT, action TEXT, vals TEXT,

before TEXT, beforeType TEXT, changed TEXT, current TEXT, currentType TEXT, value TEXT);

3. attach 명령으로 DB를 불러와서 insert를 해주면 된다.

sqlite> attach '2016-08-01_ux_behavior_log.db' as a;

sqlite> .database

seq  name             file

---  ---------------  ----------------------------------------------------------

0    main             /Users/namo/Desktop/logs/2016-08_ux_behavior_log.db

1    a                /Users/namo/Desktop/logs/2016-08-01_ux_behavior_log.db

sqlite> insert into log select * from a.log;


위의 과정을 반복해주면 된다. (.database 명령 확인을 위해서 한 것이므로 반복시에 수행 할 필요가 없다. )


연결 해제는 detach 를 해주면 된다.

sqlite> detach a;


'DB > SQLite' 카테고리의 다른 글

Subversion 1.8 버전 업데이트 후  (0) 2013.12.03
sqlite를 이용해서 자료 분석  (0) 2012.11.19