<출처: http://www.dreamy.pe.kr/zbxe/CodeClip/3768349>
디버깅 중, DB 파일을 다뤄야 할 때가 많습니다.
유용한 PC 툴이 많이 있지만, 안드로이드의 adb 에서도 sqlite3 를 지원하고 있습니다.
해당 기능을 이용하면, DB 파일을 간단히 확인해야 할 때 특히 유용합니다.(따로 PC툴을 열거나 DB파일을 PC로 옮길 필요가 없음)
아래 예제를 보면서 사용하는 방법을 익혀보세요. 4,5번을 보시면 아시겠지만 일반 SQL 문이 그대로 적용됩니다.
1. DB 파일로 접근하기
-> adb shell # sqlite3 <DB 파일 경로>
------------------------------------------------------------------------------------------------------------------------------
2|shell@android:/ # sqlite3 /data/data/com.lge.qremote/databases/qremotesettings.db
emote/databases/qremotesettings.db <
SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
2. 기본 명령어 확인하기
sqlite> .help
3. 해당 DB의 table 확인하기
sqlite> .tables
.tables
android_metadata tblDevices tblRooms
tblBrandNames tblFavoriteChannels tblWiFiRemoteTvInfo
tblCustomRemoteInfo tblPreferences
4. 해당 table 내용 읽기
.headers on 을 미리 입력하면, table의 header 정보를 함께 보여줍니다.
------------------------------------------------------------------------------------------------------------------------------
sqlite> .headers on
.headers on
sqlite> select * from tblRooms;
select * from tblRooms;
room_id|room_name|icon|current_room
1|living_room|0|1
2|bed_room|6|0
3|sp_Kitchen_NORMAL|12|0
4|sp_Den_room_NORMAL|18|0
5|office|24|0
5. DB 수정하기
sqlite> update tblRooms set current_room=5 where room_id=4;
update tblRooms set current_room=5 where room_id=4;
sqlite> select * from tblRooms;
select * from tblRooms;
room_id|room_name|icon|current_room
1|living_room|0|1
2|bed_room|6|0
3|sp_Kitchen_NORMAL|12|0
4|sp_Den_room_NORMAL|18|5
5|office|24|0
sqlite>