sqlite database browser的使用


首先感謝下sqlite作者們 謹記他們的blessing

  • May you do good and not evil. 願你行善莫行惡
  • May you find forgiveness for yourself and forgive others. 願你原諒自己寬恕他人
  • May you share freely, never taking more than you give. 願你寬心與人分享,所取不多於你所施予

最近閑着沒事在做iphone 4s的一個 應用brainscape的破解,這是一個有關卡片記憶的應用。正在破解那些付費的卡片

里面的.db 文件 可以用sqlite database browser打開。我用 sqlite admin無法打開。

 

找到各表關聯 update 之類的網上都有 其實都是sql語句。多虧我大學學的好,都沒忘。

 

卡在批量數據的錄入問題上了。下面我就說下我是怎么做的。

因為需要把每個deck的數據都輸入到library.db里面 也不知道開發這個應用的人是怎么想的,上萬張卡片把這個library.db撐的無比巨大。

好幾兆的內容當然不能一條一條update into values進去

 

其實也不麻煩sqlite database broweser里面支持csv文件的導入導出

把你想要的文件先導入 在從一個表復制到另一個表 用update  into select。。。這樣就行了

還有個問題就是 那個表巨大啊 csv文件如果9m了就無法導入了。。。我一查。。。把它導出成txt再導入就可以了

====================

下一個問題是 :sqlite database browser 導入這個9M的文件太慢了 都過去三個小時了 2w條數據還沒有插完。據說是因為 它每次都要打開關閉文件 總計2w次 造成的。

 so  。。我下載了 sqlite的shell和dll看看 能用事務在這個東西里面處理嗎 這樣能快很多

SQLite on Windows

  1. 進入 SQL 下載頁面:http://www.sqlite.org/download.html
  2. 下載 Windows 下的預編譯二進制文件包:
    • sqlite-shell-win32-x86-<build#>.zip
    • sqlite-dll-win32-x86-<build#>.zip
    注意: <build#> 是 sqlite 的編譯版本號
  3. 將 zip 文件解壓到你的磁盤,並將解壓后的目錄添加到系統的 PATH 變量中,以方便在命令行中執行 sqlite 命令。
  4. 可選: 如果你計划發布基於 sqlite 數據庫的應用程序,你還需要下載源碼以便編譯和利用其 API
    • sqlite-amalgamation-<build#>.zip

 就是這段  

用這個sqlite3 像自己db里導入9m的那個csv只要幾秒鍾

命令里有個要注意的地方--兩個

  1.加上 sqlite> .separator ","

            sqlite>.import a.csv mytable

要注明分隔符 和你的csv里一致才能 把表導入 ,不然系統提示error 只有一個field

2.mytable就是你創建的用來接受導入的那個表 ,如果你只是這樣創建

   create table mytable(f1,f2,f3....);

未指明每個field的類型 他會把所有的field都導成text格式

這樣你select的時候 要 寫 where f1=“95523";這樣才能找到 寫成f1=95523;是找不到的

所有 create table mytable(f1 integer,f2 text,......)

也可一並指明primer key      -------f1 interger primer key,f2,text.... 

你若不寫 默認就是text格式 都要加”“才能查到

 

 

 

用sqlite database browser慢是慢 不過好使 破解成功了

 要注意的問題是 導入的表的field的類型 需要modify成和原來一樣的  而不是默認的 text

不然程序不認識


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM