IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

adbでdbの確認

adbでsqliteの操作の練習

adbツールの場所の確認

test$ ls
NOTICE.txt      adb         api         fastboot        source.properties   systrace

接続

test$ ./adb shell

該当アプリのデータベースのディレクトリへ移動

root@generic:/ # cd /data/data/com.example.test02                              
root@generic:/data/data/com.example.test02 # ls
cache
databases
lib
root@generic:/data/data/com.example.test02 # cd databases
root@generic:/data/data/com.example.test02/databases # ls
mysqldbname
mysqldbname-journal

dbへ接続

root@generic:/data/data/com.example.test02/databases # sqlite3 mysqldbname 
mysqldbname                                                                   <
SQLite version 3.7.11 2012-03-20 11:35:50
Enter ".help" for instructions
Enter SQL statements terminated with a ";"

データベースの確認

sqlite> .databases
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /data/data/com.example.test02/databases/mysqldbname       

テーブル一覧

sqlite> .tables
android_metadata  hoge            

SELECT実行

sqlite> select * from hoge;
sqlite> select count(*) from hoge;
0

INSERT実行

sqlite> insert into hoge (time,message) values (11,"abc");

sqlite> select count(*) from hoge;
1

sqlite> select * from hoge;
1|11|abc

SELECT結果を見やすくする設定

sqlite> .header on
sqlite> select * from hoge;
id|time|message
1|11|abc

sqlite> .mode column
sqlite> select * from hoge;
id          time        message   
----------  ----------  ----------
1           11          abc       

テーブル定義の確認

sqlite> pragma table_info(hoge);
cid         name        type        notnull     dflt_value  pk        
----------  ----------  ----------  ----------  ----------  ----------
0           id          integer     0                       1         
1           time        integer     0                       0         
2           message     text        1                       0         

終了

sqlite> .exit
3|root@generic:/data/data/com.example.test02/databases # exit