Android学习之用adb连接模拟器查询sqlite数据库

http://blog.csdn.net/guoxu775/article/details/7569110

前提:已经配置好adb,sqlite的环境变量

1. 启动模拟器

2. cmd—— adb shell(进入shell命令,就是操作linux)

3. 找到要查看的表目录

    eg. 项目的包名为:com.kee.test,

          则目录为:data/data/com.kee.test/databases

          数据库:test_db.db

4. 启动sqlite3,并指定数据库:

    sqlite3  test_db.db

5. select *  from mytable;


 # 提示符下输入以下命令,我们进入sqliteFigure3)。

sqlite3 StudDB.db

这个命令会打开StudDB.db数据库,若StudDB.db数据库不存在,则会新建一个名为

StudDB.db的数据库。(注意数据库名大小写有区别)

   

   

     sqlite>提示符下输入

       .help 这个命令让我们看到许多命令

       .tables 查看所有表,例如我的系统里有Studentandroid_metadata两个表

    

    查询表Student 数据内容,我们输入

select * from Student;

我们查出三条数据。这个数据库的显示方式让我们习惯了Oralce,看得很不舒服,输入

以下两个命令,让我们改变这种显示模式。

         .mode column

         .header on

     再输入select * from Student; 我们看着舒服多了(Figure4)。 

     .exit命令退出sqlite,返回到#提示符。

#提示符下输入exit退出Linux

      我们看到SQLite SQL语句并没什么特别,可参考http://www.sqlite.org/lang.html ,这

个网站关于SQL用法有非常有趣的图示


1, "show tables" in sqlite
命令行模式
.schema 抓出数据库中所有的表
.tables 抓出数据库中所有的表和索引
都可以使用LIKE来匹配

程序中查看
使用sqlite中的sqlite_master表来查询
sqlite_master表结构
CREATE TABLE sqlite_master (
  type TEXT,
  name TEXT,
  tbl_name TEXT,
  rootpage INTEGER,
  sql TEXT
);
查询table,type 段是'table',name段是table的名字, so:
select name from sqlite_master where type='table' order by name;

查询indices,type段是'index', name 是index的名字,tbl_name是index所拥有的table的名字

2.查看表结构"describe table"
cursor.execute("PRAGMA table_info(tablename)")
print cursor.fetchall()



here is a command available for this on the sqlite command line.

.tables ?PATTERN?      List names of tables matching a LIKE pattern

Which converts to the following SQL

SELECT name FROM sqlite_master 
WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'
UNION ALL 
SELECT name FROM sqlite_temp_master 
WHERE type IN ('table','view') 
ORDER BY 1

http://stackoverflow.com/questions/82875/how-do-i-list-the-tables-in-a-sqlite-database-file
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值