1.利用adb工具进入 shell:adb shell。(在电脑的cmd打开到sdk shell) 2. ls查看当前目录,进入data/data/...../databases/。目录 3.打开某个数据库:sqlite3 xxx.db。 4.查询等sql语句:select * from xxxtable;。 sqlite3: 一个SQLite数据库的命令行接口 SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。本文档提供一个样使用sqlite3的简要说明。 开始 启动sqlite3程序,仅仅需要敲入带有SQLite数据库名字的"sqlite3"命令即可。如果文件不存在,则创建一个新的(数据库)文件。然后sqlite3程序将提示你输入SQL。敲入SQL语句(以分号“;”结束),敲回车键之后,SQL语句就会执行。 例如,创建一个包含一个表"tb11"名字为"ex1"的SQLite数据库,你可以这样做: $sqlite3 ex1 SQLite version 3.3.17 Enter ".help" for instructions sqlite> create table tbl1(one varchar(10), two smallint); sqlite> insert into tbl1 values('hello!', 10); sqlite> insert into tbl1 values('goodbye', 20); sqlite> select * from tbl1; hello!|10 goodbye|20 sqlite> 你可以通过敲你所用系统的文件结束符(通常是Ctrl + D)或者中断字符(通常是Ctrl + C)。来终止sqlite3程序。确定你在每个SQL语句结束敲入分号!sqlite3程序通过查找分号来决定一个SQL语句的结束。如果你省略分号,sqlite3将给你一个连续的命令提示符并等你给当前的SQL命令添加更多的文字。这个特点让你输入多行的多个SQL语句,例如: sqlite> create table tbl2( ...> f1 varchar(30) primary key, ...> f2 text, ...> f3 real ...> ); sqlite> 题外话:查询SQLITE_MASTER表 SQLite数据库的框架被保存在一个名叫"sqlite_master"的特殊的表中。你可以像查询其它表一样通过执行“SELECT”查询这个特殊的表。例如: $ sqlite3 ex1 SQlite vresion 3.3.10 Enter ".help" for instructions sqlite> select * from sqlite_master; type = table name = tbl1 tbl_name = tbl1 rootpage = 3 sql = create table tbl1(one varchar(10), two smallint) sqlite> 但你不能在sqlite_master表中执行诸如DROP TABLE, UPDATE, INSERT 或者DELETE命令。sqlite_master表在你创建、删除和索引数据库时自动更新这个表。你不能手工更改sqlite_master表。 TEMPORARY表的结构没有存储在"sqlite_master"表中,由于TEMPORARY表对应用是不可见的,而不是应用程序创建这个表。TEMPORARY表结构被存储在另外一个名叫"sqlite_temp_master"的特定的表中。"sqlite_temp_master"表是临时表自身。 sqlite3的特殊命令 大多数候,sqlite3读入输入行,并把它们传递到SQLite库中去运行。但是如果输入行以一个点(“.”)开始,那么这行将被sqlite3程序自己截取并解释。这些“点命令”通常被用来改变查询输出的格式,或者执行鞭个预封包(预定义prepackaged)的查询语句。 你可以在任何时候输入“.help”,列出可用的点命令。例如 sqlite> .help .bail ON|OFF Stop after hitting an error. Default OFF .databases List names and files of attached databases .dump ?TABLE? ... Dump the database in an SQL text format .echo ON|OFF Turn command echo on or off .exit Exit this program .explain ON|OFF Turn output mode suitable for EXPLAIN on or off. .header(s) ON|OFF Turn display of headers on or off .help Show this message .import FILE TABLE Import data from FILE into TABLE .indices TABLE Show names of all indices on TABLE .load FILE ?ENTRY? Load an extension library .mode MODE ?TABLE? Set output mode where MODE is one of: csv Comma-separated values column Left-aligned columns. (See .width) html HTML (标记)没有写出,但有和 等分界符。html输出对CGI来说是相当有用地。 把结果写到文件中 默认情况下,sqlte3把结送到标准输出。你可以用“.output”命令改变它。只须把输出文件名做为.output命令的输出参数然后所有后续查询结果将被写到那个文件中。用“.output stdout”再一次改为标准输出。例如: sqlite> .mode list sqlite> .separator | sqlite> .output test_file_1.txt sqlite> select * from tbl1; sqlite> .exit $ cat test_file_1.txt hello|10 goodbye|20 $ 查询数据库结构 sqlite3程序提供几个有用的用于查询数据库结构的快捷命令。这些不是不可以用别的方式来实现。这些命令仅仅是一个快捷方式而已。 例如,为了查看数据库的表列表,你可以敲入“.tables”。 sqlite> .tables tbl1 tbl2 sqlite> “.tables”命令相似于设置列表模式然后执行接下来的查询: 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事实上,你可以查看sqlite3的源代码(可以在源文件树的src/shell.c中),你可找到上面的具体的查询。“.indices”命令作用类似的方式是列出特定表的所有的索引。“.indics”命令须一个参数即所要索引表的表名。最后,但不是至少,是“.schema”命令。不带任何参数,“.schema”命令显示原始的用于创建当前数据库的CREATE TABLE和CREATE INDEX语句。如果你给".schema"命令一个表名,它显示原始的创建该表和它所有索引的CREATE语句。我们可以:sqlite> .schemacreate table tbl1(one varchar(10), two smallint)CREATE TABLE tbl2 ( f1 varchar(30) primary key, f2 text, f3 real)sqlite> .schema tbl2CREATE TABLE tbl2 ( f1 varchar(30) primary key, f2 text, f3 real)sqlite> ".schema"命令可以用设置列表然后执行以下查询来实现: SELECT sql FROM (SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) WHERE type!='meta' ORDER BY tbl_name, type DESC, name .databases 列出数据库文件名 .tables ?PATTERN? 列出?PATTERN?匹配的表名 .import FILE TABLE 将文件中的数据导入的文件中 .dump ?TABLE? 生成形成数据库表的SQL脚本 .output FILENAME 将输出导入到指定的文件中 .output stdout 将输出打印到屏幕 .mode MODE ?TABLE? 设置数据输出模式(csv,html,tcl… .nullvalue STRING 用指定的串代替输出的NULL串 .read FILENAME 执行指定文件中的SQL语句 .schema ?TABLE? 打印创建数据库表的SQL语句 .separator STRING 用指定的字符串代替字段分隔符 .show 打印所有SQLite环境变量的设置 .quit 退出命令行接口
<script type="text/javascript" src="http://static.blog.youkuaiyun.com/scripts/SyntaxHighlighter/shCore-src.js"></script><script type="text/javascript" src="http://static.blog.youkuaiyun.com/scripts/ZeroClipboard/ZeroClipboard.js"></script><script type="text/javascript" src="http://static.blog.youkuaiyun.com/scripts/article_code.js"></script><script type="text/javascript" src="http://medal.blog.youkuaiyun.com/scripts/show.js"></script><script type="text/javascript" src="http://medal.blog.youkuaiyun.com/showblogmedal.ashx?blogid=816227"></script><script type="text/javascript">document.write("<img src=http://counter.youkuaiyun.com/pv.aspx?id=24 border=0 width=0 height=0>");</script><script type="text/javascript" src="http://www.youkuaiyun.com/ui/scripts/Csdn/counter.js"></script><script type="text/javascript" src="http://csdnimg.cn/pubfooter/js/publib_footer.js"></script>
上一篇:
给RatingBar改图片
下一篇:
Android开机LOG
<script type="text/javascript"> new Ad(4, 'ad_cen'); </script>
<script type="text/javascript"> var fileName = '6294736'; var commentscount = 0; var islock = false </script><script type="text/javascript" src="http://static.blog.youkuaiyun.com/scripts/comment.js"></script>
<script type="text/javascript"> new Ad(5, 'ad_bot'); </script>
文章分类
- android(54)
- android-framework(7)
- android-Media(9)
- android-service(3)
- android-多线程(3)
- android-通讯录(2)
- C/C++(18)
- DRM(1)
- fbreader(6)
- framebuffer(2)
- java(1)
- jpeg(0)
- jpeg png(5)
- linux(3)
- png(0)
- QT(3)
- windows(33)
- 音视频编解码(2)
- S3C2440(3)
文章存档
阅读排行
- 使用libpng,libjpeg从文件读... (1429)
- android播放器(music pla... (1244)
- 扩展VMware 虚拟机硬盘容量,不需要... (1130)
- Android 实例剖析之 notepa... (905)
- bit、byte、位、字节、汉字的关系 (824)
- Android通讯录查询篇--Conta... (707)
- android播放器(music pla... (696)
- jpeglib使用指南 (687)
- android selector (675)
- EnterCriticalSection... (650)
评论排行
- Android 实例剖析之 notepa... (6)
- android播放器(music pla... (5)
- 给RatingBar改图片 (2)
- 教你如何使用libpng显示png图片 (2)
- 可拖拽的listView (2)
- 使用libpng,libjpeg从文件读... (2)
- malloc失败 (1)
- 关于使用Eclipse调试Launche... (1)
- 8位灰度图像BMP的保存 (1)
- 关于韦东山书上的裸机程序在mini244... (1)
推荐文章
<script type="text/javascript" src="http://static.blog.youkuaiyun.com/scripts/ad.js"></script><script type="text/javascript"> new Ad(12, 'ad_commend'); </script>
最新评论
- 给RatingBar改图片
xinchengjun: 很好,很强大
- AIDL和远程Service调用
huanghuihong123456: nice
- Android 实例剖析之 notepad
yaya1943: 非常好的文章,期待更多!
- 使用libpng,libjpeg从文件读取和从内存读取2中方式的实现
lailaigq: 不会灵活变通,大哥!
- Android 实例剖析之 notepad
wangsamuel: 哥们看的很细心啊
- android播放器(music player)源码分析2(BaseExpandableListAdapter, SimpleCursorTreeAdapter
j086924: 谢谢分享!
- Android 实例剖析之 notepad
ccking001: @jkkjklmn:android自带的Sample。。。。
- Android Intent.createChooser()
haojunming: 我想共享一张图片,会调用系统的功能来实现,它会出现一个让你选择应用列表,比如有微博,短信,邮件,怎么...
- 关于韦东山书上的裸机程序在mini2440上的运行
baiyudong2: 能不能加我好友qq:327066536
- Android JNI 使用的数据结构JNINativeMethod详解
yang_hui1986527: 非常有用,感谢分享。