`

adb工具 手工操作android模拟器上的数据库

 
阅读更多
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 code insert SQL insert statements for TABLE line One value per line list Values delimited by .separator string tabs Tab-separated values tcl TCL list elements .nullvalue STRING Print STRING in place of NULL values .output FILENAME Send output to FILENAME .output stdout Send output to the screen .prompt MAIN CONTINUE Replace the standard prompts .quit Exit this program .read FILENAME Execute SQL in FILENAME .schema ?TABLE? Show the CREATE statements .separator STRING Change separator used by output mode and .import .show Show the current values for various settings .tables ?PATTERN? List names of tables matching a LIKE pattern .timeout MS Try opening locked tables for MS milliseconds .width NUM NUM ... Set column widths for "column" mode sqlite> 改变输出格式 sqlite3程序可以以八种不同的格式显示一个查询的结果:"csv", "列", "html", "插入", "行", "制表"和"tcl"。你可以用".mode"点命令在这些输出格式之间切换。 默认的输出格式是“列表”。在列表模式下,每条查询结果记录被写在一行中并且每列之间以一个字符串分割符隔开。默认的分隔符是一个管道符号(“|”)。列表符号在当你输出查询结果到另外一个符加处理的程序(如AWK)中去是尤为有用。 sqlite> .mode list sqlite> select * from tbl1; hello|10 goodbye|20 sqlite> 你可以用“.separator”点命令来改变分界符。例如,为了把分割符改为一个逗号和一个空格,你可以这样做: sqlite> .separator ", " sqlite> select * from tbl1; hello, 10 goodbye, 20 sqlite> 在“line"模式下,每一个位于条记录中的列在它自己那行显示。每行由列名、一个等号和列数据组成。下一条记录以一个空行隔开。这是一个行模式输出的例子: sqlite> .mode line sqlite> select * from tbl1; one = hello two = 10 one = goodbye two = 20 sqlite> 在列模式下,每条记录在一个单独的行中以数据列对齐的方式显示。列如: sqlite> .mode column sqlite> select * from tbl1; one two ---------- ---------- hello 10 goodbye 20 sqlite> 在默认的情况下,每列至少10个字符宽。太宽的数据将被截取。你可以用“.width”命令来调整列宽。如下所示: sqlite> .width 12 6 sqlite> select * from tbl1; one two ------------ ------ hello 10 goodbye 20 sqlite> 上面例子中".width"命令设置第一列宽为12第二列宽为6。其它的列宽不变。你可以指定与你查询结果需要的列数一样多的“.width”参数。 如果你指定一列宽为0,那么这个列宽将自动以下面三个数字中的最大值做为列宽:10、表头宽度和最宽的数据列的宽度。这可以让列自动调整宽度。每列的默认设置为自动调整的0值。 出现在输出开头两行的列标示可以用".header"点命令关闭。在上面的例子中,列标示是打开的。可以用下面的方法关闭列标示: sqlite> .header off sqlite> select * from tbl1; hello 10 goodbye 20 sqlite> 另外一个有用的输出模式是"insert"。在插入模式下,被子格式化为看起来像SQL INSERT语句的样式。你可以用插入模式来产生文件(便于)以后用于不同数据库的输入。 当指定插入模式时,你必须给定一个特定参数就是要插入的表名。例如: sqlite> .mode insert new_table sqlite> select * from tbl1; INSERT INTO 'new_table' VALUES('hello',10); INSERT INTO 'new_table' VALUES('goodbye',20); sqlite> 最新的输出格式是“html”。在这种模式下,sqlite3把查询的结果写做XHTML表。开始的
和结束的
(标记)没有写出,但有、和 等分界符。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"> new Ad(4, 'ad_cen'); </script>
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
<script type="text/javascript"> var fileName = '6294736'; var commentscount = 0; var islock = false </script><script type="text/javascript" src="http://static.blog.csdn.net/scripts/comment.js"></script>
<script type="text/javascript"> new Ad(5, 'ad_bot'); </script>
    个人资料

    bigapple88
    • 访问:36398次
    • 积分:1021分
    • 排名:第5937名
    • 原创:38篇
    • 转载:133篇
    • 译文:0篇
    • 评论:30条
    文章搜索
      推荐文章
      <script type="text/javascript" src="http://static.blog.csdn.net/scripts/ad.js"></script><script type="text/javascript"> new Ad(12, 'ad_commend'); </script>
        最新评论
      <script type="text/javascript" src="http://static.blog.csdn.net/scripts/SyntaxHighlighter/shCore-src.js"></script><script type="text/javascript" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.js"></script><script type="text/javascript" src="http://static.blog.csdn.net/scripts/article_code.js"></script><script type="text/javascript" src="http://medal.blog.csdn.net/scripts/show.js"></script><script type="text/javascript" src="http://medal.blog.csdn.net/showblogmedal.ashx?blogid=816227"></script><script type="text/javascript">document.write("<img src=http://counter.csdn.net/pv.aspx?id=24 border=0 width=0 height=0>");</script><script type="text/javascript" src="http://www.csdn.net/ui/scripts/Csdn/counter.js"></script><script type="text/javascript" src="http://csdnimg.cn/pubfooter/js/publib_footer.js"></script>
      分享到:
      评论

      相关推荐

        在Android模拟器上安装软件

        总结来说,通过本文的详细说明,我们了解了在Android模拟器上安装软件的具体步骤,包括准备apk文件、运行模拟器、使用adb工具进行软件安装以及可能出现的问题及其解决方法。掌握这些知识点对于Android应用开发者和...

        adb工具包 Android adb1.0.32

        1. 设备通信:adb是连接Android设备(包括手机、平板、模拟器)与电脑的桥梁,通过USB或无线网络建立连接,允许开发者在电脑上控制设备,执行各种操作。 2. 设备管理:adb可以列出所有已连接的设备和模拟器实例,...

        Android Adb工具

        ADB能够连接运行Android操作系统的设备,包括模拟器和物理手机,使得开发者可以进行数据传输、安装应用、运行shell命令以及进行远程调试。在“Android ADB工具”中,我们通常会包含ADB的各个版本,以适应不同Android...

        Android模拟器Ip设置详细操作

        在Android开发过程中,Android模拟器扮演着至关重要的角色,它为开发者提供了一个可以在桌面系统上运行和测试Android应用的环境。然而,由于模拟器的网络配置与开发者的主机系统不一致,这可能导致通信问题,例如...

        android4.4 adb工具包

        综上所述,这个"android4.4 adb工具包"是一个专为Android 4.4及其以下版本优化的ADB工具集,包含了必要的组件以确保与设备的稳定连接和兼容性,尤其解决了由于ADB版本过低可能导致的驱动问题。对于开发和维护旧版本...

        安装APK文件到Android模拟器

        adb(Android Debug Bridge)是 Android 提供的一个通用的调试工具,借助这个工具,我们可以管理设备或手机模拟器的状态 。还可以进行以下的操作: 1. 快速更新设备或手机模拟器中的代码,如应用或 Android 系统升级...

        Android adb投屏工具

        ADB(Android Debug Bridge)是Android开发者不可或缺的工具之一,它提供了一种命令行界面,允许用户与Android设备进行通信,执行各种操作,如安装应用、调试应用、查看设备状态等。在Android开发过程中,有时我们...

        Android及avd模拟器ip设置详细操作.doc

        Android 模拟器 IP 设置详细操作指南 Android 模拟器 IP 设置是 Android 开发中一个非常重要的步骤,因为模拟器的 IP 地址和电脑的 IP 地址不同,会导致模拟器无法连接互联网,或者无法与电脑进行通信。本文将详细...

        解决android_模拟器上网问题

        - 使用`adb shell`命令进入Android模拟器的命令行界面。确保已将`Android_SDK/tools`目录添加到环境变量中。 3. **检查设置数据库文件** - 执行`ls -l /data/data/...

        adb工具免安装AndroidSDK版

        adb(Android Debug Bridge)是Android开发中的一个强大工具,它是一个命令行实用程序,允许开发者与Android设备进行通信。在不安装完整的Android SDK的情况下,使用免安装版的adb工具可以帮助开发者节省磁盘空间,...

        Android Studio模拟器文件复制方法

        本文将详细介绍两种在Android Studio中将文件复制到模拟器的方法:一种是通过Android Studio的图形界面,另一种是使用命令行工具adb。 首先,确保你的电脑已经正确配置了Android SDK,并且在环境变量中设置了adb的...

        android 5.1的ADB 工具ADB最新工具

        ADB(Android Debug Bridge)是Android开发中的一个关键工具,它为开发者提供了命令行接口,用于与连接的Android设备进行通信。在"android 5.1的ADB 工具ADB最新工具"这个主题下,我们将深入探讨ADB的核心功能、工作...

        用VNC远程控制android模拟器

        2. **ADB (Android Debug Bridge)**:用于与Android设备或模拟器进行通信的命令行工具。 3. **VNC Server for Android Emulator**:可以从[这里](http://code.google.com/p/android-vnc/)下载,这是一个专门为...

        解决Android模拟器端口被占用问题的办法

         第一次遇到这个问题,上网查了一下原因,原来”The connection to adb is down, and a severe error has occured”指的就是Android模拟器端口被占用了。 二、问题的排查过程  既然是端口被占用了,现在就要看看...

        adb 1.0.41 工具 操作系统 - Linux - adb 1.0.41 工具.zip

        adb(Android Debug Bridge)是Android开发者常用的工具之一,主要用于与Android设备进行通信,进行调试、数据传输、设备管理等操作。在Linux操作系统环境下,adb 1.0.41 版本提供了对Android设备的强大支持。这个...

        windows系统下的adb连接工具

        在Windows系统下,ADB(Android Debug Bridge)是一个强大的命令行工具,用于开发者与Android设备进行通信。这个工具是Android SDK的一部分,它允许用户在没有安装任何图形化界面的情况下,进行设备控制、数据传输...

        C# 实现的 Android ADB工具

        Android ADB(Android Debug Bridge)是Google开发的一个命令行工具,用于开发者调试Android设备或模拟器。这个工具提供了丰富的功能,如安装应用、查看设备状态、传输文件等。本项目是一个使用C#语言实现的ADB工具...

        android模拟器安装APK文件

        在Android开发过程中,Android模拟器是一个非常重要的工具,它允许开发者在没有物理设备的情况下测试应用程序。APK(Android Package)是Android系统中的应用程序包文件格式,用于分发和安装移动应用。下面我们将...

        C#中最最简单浅显易懂的通过最新的ADB 工具 傻瓜 连接安卓模拟器或手机互相拷贝文件

        它采用的github上最新的COOLAdb工具(我没用它的dll 引用,而是自己修改过的class,因为原代码有些Bug,我已经修复). 通过我的这个代码,你能几分钟之内看懂或者无视C#是怎么偷偷调用cmd并帮你补全命令行的,而你所做的,...

      Global site tag (gtag.js) - Google Analytics