файл .db и MySQL - PullRequest
       12

файл .db и MySQL

0 голосов
/ 22 августа 2009

У меня реальные проблемы с файлом .db размером около 20 ГБ с тремя таблицами и остальными данными.

Я на Mac, поэтому мне приходится использовать некоторые дрянные приложения, но они не открываются в Access.

Кто-нибудь знает, какое программное обеспечение будет создавать файл .db и какое программное обеспечение позволит мне открыть его и экспортировать в виде файла CSV или MySQL?

Также, если соединение было прервано во время транзита, может ли это повлиять на файл?

Ответы [ 2 ]

4 голосов
/ 22 августа 2009

Так как 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

и вы можете выполнить в значительной степени стандартный SQL из CLI. В CLI вы можете набрать .tables, чтобы получить список всех таблиц в этой БД . - Или, если вы предпочитаете графический интерфейс, есть несколько вариантов, перечисленных в этот вопрос . Принятый ответ: Диспетчер SQLite для Firefox .

Тогда вы можете удалить таблицы или удалить , как считаете нужным.

Вот пример сброса 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 для выполнения.

0 голосов
/ 22 августа 2009

Я не пользователь Mac, но если это файл SQLite, я слышал о Base .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...