sqlite database browser的使用「建议收藏」

2022-09-07 11:52:10 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

首先感谢下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 的编译版本号

  1. 将 zip 文件解压到你的磁盘,并将解压后的目录添加到系统的 PATH 变量中,以方便在命令行中执行 sqlite 命令。
  2. 可选: 如果你计划发布基于 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

不然程序不认识

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155618.html原文链接:https://javaforall.cn

0 人点赞