久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    adb工具手工操作android模擬器上的數據庫

     飛魚^_^ 2010-11-16

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

    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 <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程序可以以八種不同的格式顯示一個查詢的結果:"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表。開始的<TABLE>和結束 的</TABLE>(標記)沒有寫出,但有<TR>、<TH>和<TD>等分界符。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 退出命令行接口

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 东京热大乱系列无码| 亚洲精品在看在线观看| 久久亚洲AV成人网站玖玖| 高清无码一区二区在线观看| 国产无套护士在线观看| 美女内射视频WWW网站午夜| 无码专区视频精品老司机| 国产高清自产拍av在线| 高清破外女出血AV毛片| 色AV专区无码影音先锋| 久久久这里只有免费精品| 久久精品国产清自在天天线| 国产精品日日摸夜夜添夜夜添无码| 办公室强奷漂亮少妇视频| 色综合久久久久综合99| 免费无码又爽又刺激毛片| 无码激情亚洲一区| 久久精品国产亚洲AV麻豆网站| 樱花草视频www日本韩国| 午夜在线观看免费观看 视频| 精品无码一区二区三区在线| av一区二区中文字幕| 色综合久久久久综合99| 亚洲av成人无码精品电影在线| 亚洲色精品VR一区二区三区| 男人狂桶女人出白浆免费视频| 菠萝菠萝蜜午夜视频在线播放观看| 夜夜未满十八勿进的爽爽影院| 92精品国产自产在线观看481页| 呦系列视频一区二区三区| 久久超碰色中文字幕超清| 久久久无码精品亚洲日韩按摩| 99RE6在线视频精品免费下载| 国产日韩一区二区四季| 国产精品情侣呻吟对白视频 | 日韩在线看片免费观看软件 | 久久精品A一国产成人免费网站| 成人亚欧欧美激情在线观看 | 被拉到野外强要好爽| 野花免费社区在线| 国产JJZZJJZZ视频全部免费|