【问题标题】:.db file and MySQL.db 文件和 MySQL
【发布时间】:2009-08-22 12:36:05
【问题描述】:

我遇到了一个 .db 文件的实际问题,它的大小约为 20gb,包含三个表和其余数据。

我使用的是 Mac,所以我不得不使用一些糟糕的应用程序,但它无法在 Access 中打开。

有谁知道什么软件会生成 .db 文件,什么软件可以让我打开它并将其导出为 CSV 或 MySQL 文件?

此外,如果连接在传输过程中中断,这会影响文件吗?

【问题讨论】:

    标签: mysql sqlite


    【解决方案1】:

    由于mac现在是基于BSD的,尝试打开一个终端并执行命令file /path/to/large/db——它至少应该告诉你数据库是什么文件类型,然后你可以从那里确定使用什么程序来打开它.可能是 MySQL,可能是 PostGreSQL,可能是 SQLite——文件会告诉你。

    例子:

    $ file a.db
    a.db: SQLite 3.x database
    
    $ file ~/.kde/share/apps/amarok/mysqle/amarok/tracks.{frm,MYD,MYI}
    ~/.kde/share/apps/amarok/mysqle/amarok/tracks.frm: MySQL table definition file Version 10
    ~/.kde/share/apps/amarok/mysqle/amarok/tracks.MYD: data
    ~/.kde/share/apps/amarok/mysqle/amarok/tracks.MYI: MySQL MISAM compressed data file Version 1
    

    所以它是 SQLite v3?那就试试吧

    sqlite3 /path/to/db
    

    您可以从 CLI 执行几乎标准的 SQL。 At the CLI, you can type .tables to list all the tables in that DB。 -- 或者,如果您更喜欢 GUI,this question 中列出了一些选项。接受的答案是SQLite manager for Firefox

    那么你可以drop tablesdelete,只要你认为合适。

    这是一个将 csv 转储到标准输出的示例:

    $ sqlite3 -separator ',' -list a.db "SELECT * FROM t"
    3,4
    3,5
    100,200
    

    并将其存储到文件中 - > 运算符将输出重定向到您命名的文件:

    $ sqlite3 -separator ',' -list a.db "SELECT * FROM t" > a.csv
    $ cat a.csv # puts the contents of a.csv on stdout
    3,4
    3,5
    100,200
    

    -separator ',' 表示字段用逗号分隔; -list 表示将行数据放在同一行,使用分隔符; a.db 表示使用哪个数据库;而"SELECT * FROM t" 只是要执行的 SQL 命令。

    【讨论】:

    • 它是 SQlite 版本 3,在 mac 上打开 20gb .db 文件的最佳方法是什么?如果我必须为每张桌子切 3 次,我就不会打扰。
    • 那么我怎样才能发出将 .db 文件复制到 CSV 的命令?
    • 很抱歉,我得到了这个“Unknown-00-1f-5b-c7-49-5c:~ MacHome$ sqlite3 -separator ',' -list /Users/MacHome/Desktop/ tpb/tpb.db "SELECT * FROM cat" 100,Audio 101,Audio > Music 102,Audio > Audio books 103,Audio > Sound clips 104,Audio > FLAC 199,Audio > Other ETC ETC" 这是否表示完整如果是的话,它是否放置了 CSV?
    • 这只是将 csv 写入您的控制台 - 请参阅编辑后的帖子了解如何重定向到文件。
    • 我是否必须等待第一个命令被处理然后继续“$ cat a.csv #将a.csv的内容放在标准输出3,4 3,5 100,200”?跨度>
    【解决方案2】:

    我不是 Mac 用户,但如果是 SQLite 文件,我听说过关于 Base 的好消息。

    【讨论】:

    • 每次我尝试使用它时它都会崩溃,你认为这可能是因为我没有付钱吗?
    • 不,哈哈。由于数据库的大小,这可能是内存溢出。尝试搜索替代品@alternativeto.net
    • 如果我只想将其设为 CSV,然后我可以将其缩小并放入 MySQL,终端可以为我做吗?每个软件似乎都在挣扎并崩溃
    • 它肯定可以,但是我以前从未这样做过,我建议你谷歌一下:google.com/search?q=dump+sqlite+to+csv
    猜你喜欢
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 2021-10-02
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多