2013-11-22 15 views
15

Czy jest możliwe utworzenie pustej bazy danych sqlite3 z wiersza poleceń (np. sqlite3 <someoption> dbname), która utworzyłaby plik bazy danych dla mnie bez tablic, aby uzyskać do niego dostęp z innego edytora SQL ?Utwórz pusty sqlite db z wiersza poleceń

Obecnie, gdy robię sqlite3 dbname, pojawia się zachęty sqlite, z którego mogę zrobić CREATE TABLE ..., ale jeśli nie, po wyjściu, nie zostanie utworzony żaden plik. Dlatego szukam pojedynczego polecenia, które utworzyłoby dla mnie pustą bazę danych bez potrzeby tworzenia co najmniej jednej tabeli w tym kroku.

+0

Masz na myśli tworzyć na iPhonie? Jeśli szukasz inicjalizacji bazy danych, zajrzyj na http://www.raywenderlich.com/12170/core-data-tutorial-how-to-preloadimport-existing-data-updated –

+0

no na dowolnym systemie operacyjnym ... – amphibient

Odpowiedz

21

Nie sądzę, że istnieje sposób, aby to zrobić w jednym oświadczeniu.

W Linuksie bym obejść to w ten sposób:

sqlite3 aFile.db "create table aTable(field1 int); drop table aTable;" 

to automatycznie utworzy potrzebny plik z tabelą w nim, a następnie upuścić go pozostawiając plik bazy danych bez tabel. To jest najbliższa rzecz, którą znam.

W każdym razie myślę, że większość edytorów zaakceptuje nawet pusty plik. Spróbuj.

+0

to tworzy pusty plik - w ten sposób wszyscy edytorzy będą musieli zaakceptować pusty plik – user2707001

16

Można również wywołać .databases po wpisaniu wiersza polecenia.

Lub:

$ sqlite3 test.db ".databases"

+0

to działa - i tworzy pusty plik – user2707001

+0

To wydaje się czystsze niż zaakceptowana odpowiedź –

5

Wystarczy utworzyć pusty plik.

> test.db 

Symbol ">" oznacza tutaj przekierowanie.

+0

To faktycznie działa i działa tak samo, jak wszystkie złożone odpowiedzi powyżej. Dla przyszłej kompatybilności możesz zrobić ".databases", chociaż ... – user2707001

0

Prostym sposobem jest w bash, użyć polecenia

touch file.db 

to będzie po prostu utworzyć plik 0 rozmiar i może być używany jako pustego pliku sqlite.

Powiązane problemy