国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
adb工具手工操作android模擬器上的數(shù)據(jù)庫(kù)

原文地址:http://student.csdn.net/space.php?uid=46868&do=blog&id=23399

1.利用adb工具進(jìn)入 shell:adb shell。(在電腦的cmd打開(kāi)到sdk shell)

2. ls查看當(dāng)前目錄,進(jìn)入data/data/...../databases/。目錄

3.打開(kāi)某個(gè)數(shù)據(jù)庫(kù):sqlite3 xxx.db。

4.查詢等sql語(yǔ)句:select * from xxxtable;。

sqlite3: 一個(gè)SQLite數(shù)據(jù)庫(kù)的命令行接口 

    SQLite庫(kù)包含一個(gè)名字叫做sqlite3的命令行,它可以讓用戶手工輸入并執(zhí)行面向SQLite數(shù)據(jù)庫(kù)的SQL命令。本文檔提供一個(gè)樣使用sqlite3的簡(jiǎn)要說(shuō)明。

開(kāi)始

     啟動(dòng)sqlite3程序,僅僅需要敲入帶有SQLite數(shù)據(jù)庫(kù)名字的"sqlite3"命令即可。如果文件不存在,則創(chuàng)建一個(gè)新的(數(shù)據(jù)庫(kù))文件。然后sqlite3程序?qū)⑻崾灸爿斎隨QL。敲入SQL語(yǔ)句(以分號(hào)“;”結(jié)束),敲回車(chē)鍵之后,SQL語(yǔ)句就會(huì)執(zhí)行。

        例如,創(chuàng)建一個(gè)包含一個(gè)表"tb11"名字為"ex1"的SQLite數(shù)據(jù)庫(kù),你可以這樣做:

$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>

       你可以通過(guò)敲你所用系統(tǒng)的文件結(jié)束符(通常是Ctrl + D)或者中斷字符(通常是Ctrl +C)。來(lái)終止sqlite3程序。確定你在每個(gè)SQL語(yǔ)句結(jié)束敲入分號(hào)!sqlite3程序通過(guò)查找分號(hào)來(lái)決定一個(gè)SQL語(yǔ)句的結(jié)束。如果你省略分號(hào),sqlite3將給你一個(gè)連續(xù)的命令提示符并等你給當(dāng)前的SQL命令添加更多的文字。這個(gè)特點(diǎn)讓你輸入多行的多個(gè)SQL語(yǔ)句,例如:

sqlite> create table tbl2(
   ...> f1 varchar(30) primary key,
   ...> f2 text,
   ...> f3 real
   ...> );
sqlite>

題外話:查詢SQLITE_MASTER表

    SQLite數(shù)據(jù)庫(kù)的框架被保存在一個(gè)名叫"sqlite_master"的特殊的表中。你可以像查詢其它表一樣通過(guò)執(zhí)行“SELECT”查詢這個(gè)特殊的表。例如:


$ 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表中執(zhí)行諸如DROP TABLE, UPDATE, INSERT 或者DELETE命令。sqlite_master表在你創(chuàng)建、刪除和索引數(shù)據(jù)庫(kù)時(shí)自動(dòng)更新這個(gè)表。你不能手工更改sqlite_master表。

   TEMPORARY表的結(jié)構(gòu)沒(méi)有存儲(chǔ)在"sqlite_master"表中,由于TEMPORARY表對(duì)應(yīng)用是不可見(jiàn)的,而不是應(yīng)用程序創(chuàng)建這個(gè)表。TEMPORARY表結(jié)構(gòu)被存儲(chǔ)在另外一個(gè)名叫"sqlite_temp_master"的特定的表中。"sqlite_temp_master"表是臨時(shí)表自身。

sqlite3的特殊命令

  大多數(shù)候,sqlite3讀入輸入行,并把它們傳遞到SQLite庫(kù)中去運(yùn)行。但是如果輸入行以一個(gè)點(diǎn)(“.”)開(kāi)始,那么這行將被sqlite3程序自己截取并解釋。這些“點(diǎn)命令”通常被用來(lái)改變查詢輸出的格式,或者執(zhí)行鞭個(gè)預(yù)封包(預(yù)定義prepackaged)的查詢語(yǔ)句。

你可以在任何時(shí)候輸入“.help”,列出可用的點(diǎn)命令。例如

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 <table> 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程序可以以八種不同的格式顯示一個(gè)查詢的結(jié)果:"csv", "列", "html", "插入", "行", "制表"和"tcl"。你可以用".mode"點(diǎn)命令在這些輸出格式之間切換。

    默認(rèn)的輸出格式是“列表”。在列表模式下,每條查詢結(jié)果記錄被寫(xiě)在一行中并且每列之間以一個(gè)字符串分割符隔開(kāi)。默認(rèn)的分隔符是一個(gè)管道符號(hào)(“|”)。列表符號(hào)在當(dāng)你輸出查詢結(jié)果到另外一個(gè)符加處理的程序(如AWK)中去是尤為有用。

sqlite> .mode list
sqlite> select * from tbl1;
hello|10
goodbye|20
sqlite>

    你可以用“.separator”點(diǎn)命令來(lái)改變分界符。例如,為了把分割符改為一個(gè)逗號(hào)和一個(gè)空格,你可以這樣做:

sqlite> .separator ", "
sqlite> select * from tbl1;
hello, 10
goodbye, 20
sqlite>

    在“line"模式下,每一個(gè)位于條記錄中的列在它自己那行顯示。每行由列名、一個(gè)等號(hào)和列數(shù)據(jù)組成。下一條記錄以一個(gè)空行隔開(kāi)。這是一個(gè)行模式輸出的例子:

sqlite> .mode line
sqlite> select * from tbl1;
one = hello
two = 10

one = goodbye
two = 20
sqlite>

    在列模式下,每條記錄在一個(gè)單獨(dú)的行中以數(shù)據(jù)列對(duì)齊的方式顯示。列如:

sqlite> .mode column
sqlite> select * from tbl1;
one         two      
----------  ----------
hello       10       
goodbye     20       
sqlite>

        在默認(rèn)的情況下,每列至少10個(gè)字符寬。太寬的數(shù)據(jù)將被截取。你可以用“.width”命令來(lái)調(diào)整列寬。如下所示:

sqlite> .width 12 6
sqlite> select * from tbl1;
one           two  
------------  ------
hello         10   
goodbye       20   
sqlite>

    上面例子中".width"命令設(shè)置第一列寬為12第二列寬為6。其它的列寬不變。你可以指定與你查詢結(jié)果需要的列數(shù)一樣多的“.width”參數(shù)。

    如果你指定一列寬為0,那么這個(gè)列寬將自動(dòng)以下面三個(gè)數(shù)字中的最大值做為列寬:10、表頭寬度和最寬的數(shù)據(jù)列的寬度。這可以讓列自動(dòng)調(diào)整寬度。每列的默認(rèn)設(shè)置為自動(dòng)調(diào)整的0值。

    出現(xiàn)在輸出開(kāi)頭兩行的列標(biāo)示可以用".header"點(diǎn)命令關(guān)閉。在上面的例子中,列標(biāo)示是打開(kāi)的。可以用下面的方法關(guān)閉列標(biāo)示:

sqlite> .header off
sqlite> select * from tbl1;
hello         10   
goodbye       20   
sqlite>

    另外一個(gè)有用的輸出模式是"insert"。在插入模式下,被子格式化為看起來(lái)像SQL INSERT語(yǔ)句的樣式。你可以用插入模式來(lái)產(chǎn)生文件(便于)以后用于不同數(shù)據(jù)庫(kù)的輸入。

    當(dāng)指定插入模式時(shí),你必須給定一個(gè)特定參數(shù)就是要插入的表名。例如:

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把查詢的結(jié)果寫(xiě)做XHTML表。開(kāi)始的<TABLE>和結(jié)束的</TABLE>(標(biāo)記)沒(méi)有寫(xiě)出,但有<TR>、<TH>和<TD>等分界符。html輸出對(duì)CGI來(lái)說(shuō)是相當(dāng)有用地。

把結(jié)果寫(xiě)到文件中

    默認(rèn)情況下,sqlte3把結(jié)送到標(biāo)準(zhǔn)輸出。你可以用“.output”命令改變它。只須把輸出文件名做為.output命令的輸出參數(shù)然后所有后續(xù)查詢結(jié)果將被寫(xiě)到那個(gè)文件中。用“.output stdout”再一次改為標(biāo)準(zhǔn)輸出。例如:

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
$

查詢數(shù)據(jù)庫(kù)結(jié)構(gòu)

    sqlite3程序提供幾個(gè)有用的用于查詢數(shù)據(jù)庫(kù)結(jié)構(gòu)的快捷命令。這些不是不可以用別的方式來(lái)實(shí)現(xiàn)。這些命令僅僅是一個(gè)快捷方式而已。

    例如,為了查看數(shù)據(jù)庫(kù)的表列表,你可以敲入“.tables”。

sqlite> .tables
tbl1
tbl2
sqlite>

    “.tables”命令相似于設(shè)置列表模式然后執(zhí)行接下來(lái)的查詢:

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')
ORDERBY1事實(shí)上,你可以查看sqlite3的源代碼(可以在源文件樹(shù)的src/shell.c中),你可找到上面的具體的查詢。“.indices”命令作用類(lèi)似的方式是列出特定表的所有的索引。“.indics”命令須一個(gè)參數(shù)即所要索引表的表名。最后,但不是至少,是“.schema”命令。不帶任何參數(shù),“.schema”命令顯示原始的用于創(chuàng)建當(dāng)前數(shù)據(jù)庫(kù)的CREATE TABLE和CREATEINDEX語(yǔ)句。如果你給".schema"命令一個(gè)表名,它顯示原始的創(chuàng)建該表和它所有索引的CREATE語(yǔ)句。我們可以:sqlite>.schemacreate table tbl1(one varchar(10), two smallint)CREATE TABLE tbl2(  f1 varchar(30) primary key,  f2 text,  f3 real)sqlite> .schematbl2CREATE TABLE tbl2 (  f1 varchar(30) primary key,  f2 text,  f3real)sqlite>    ".schema"命令可以用設(shè)置列表然后執(zhí)行以下查詢來(lái)實(shí)現(xiàn):

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 列出數(shù)據(jù)庫(kù)文件名
.tables ?PATTERN? 列出?PATTERN?匹配的表名
.import FILE TABLE 將文件中的數(shù)據(jù)導(dǎo)入的文件中
.dump ?TABLE? 生成形成數(shù)據(jù)庫(kù)表的SQL腳本
.output FILENAME 將輸出導(dǎo)入到指定的文件中
.output stdout 將輸出打印到屏幕
.mode MODE ?TABLE?     設(shè)置數(shù)據(jù)輸出模式(csv,html,tcl…
.nullvalue STRING 用指定的串代替輸出的NULL串
.read FILENAME 執(zhí)行指定文件中的SQL語(yǔ)句
.schema ?TABLE? 打印創(chuàng)建數(shù)據(jù)庫(kù)表的SQL語(yǔ)句
.separator STRING 用指定的字符串代替字段分隔符
.show 打印所有SQLite環(huán)境變量的設(shè)置
.quit 退出命令行接口

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Android sqlite3命令詳解(一)
SQLite3命令操作大全
SQLite數(shù)據(jù)庫(kù)使用筆記與文檔翻譯草稿
android sqlite3詳解
Android學(xué)習(xí)筆記36:使用SQLite方式存儲(chǔ)數(shù)據(jù)
Ubuntu下安裝SQLite3 (轉(zhuǎn))
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服