Jak skopiować tabelę SQL opartą na dysku do bazy danych pamięci w pythonie? Znam schemat stołu.Jak skopiować tabelę sqlite z bazy danych dysku do bazy danych pamięci w pythonie?
Odpowiedz
ten kod jest bardziej ogólnego, ale może to pomóc:
import sqlite3
new_db = sqlite3.connect(':memory:') # create a memory database
old_db = sqlite3.connect('test.db')
query = "".join(line for line in old_db.iterdump())
# Dump old database in the new one.
new_db.executescript(query)
EDIT: na uzyskanie określić tabelę można po prostu zmiana w pętli tak:
name_table = "test_table" # name of the table that you want to get.
for line in old_db.iterdump():
if name_table in line:
query = line
break
Sprawdź numer SQLite Backup API. Przykład znajduje się w C, ale powinno to pokazać, jak to zrobić wydajnie.
Niestety, nie znam żadnego C. Wydaje mi się, że słyszałem gdzieś, że apsw (Another Python Sqlite Wrapper) Miał funkcję kopii zapasowej. Czy to prawda? – Clay
przydatne :) po prostu potrzebuję czegoś takiego! Great thx –
'sqlite3_backup *' Funkcje C nie są dostępne za pośrednictwem interfejsu API Python sqlite3. Chociaż powinno być łatwe utworzenie rozszerzenia C dla Pythona, który je wywołuje – jfs
Alternatywą dla tych, używając Python i SQLAlchemy:
http://www.tylerlesmann.com/2009/apr/27/copying-databases-across-platforms-sqlalchemy/
Ideą jest odwzorowanie metadane z bazy źródłowej do docelowej bazy danych, a następnie przenieść kolumnę po kolumnie.
- 1. Zapisywanie na dysku bazy danych w pamięci
- 2. Chcę skopiować tabelę zawartą z jednej bazy danych i wstawić do innej tabeli bazy danych
- 3. Wstaw tabelę liczb całkowitych - int [] - do bazy danych SQLite,
- 4. jak przekonwertować istniejącą tabelę bazy danych sqlite na fts3?
- 5. Jak podłączyć CakePHP do bazy danych SQLite?
- 6. połączenie bazy danych sqlite golang
- 7. Zapełnianie Spinner z bazy danych SQLite Android
- 8. Schemat bazy danych Android Sqlite
- 9. Android: zamykanie bazy danych SQLite
- 10. Testowanie bazy danych SQLite Android
- 11. Jak skopiować dane z jednej bazy danych/tabeli do innej bazy danych/tabeli
- 12. Skopiuj tabelę z jednej bazy danych do innej
- 13. Maksymalna pojemność bazy danych SQLite
- 14. eksport danych z programu Excel do bazy danych sqlite
- 15. Kopia zapasowa bazy danych SQLite w pamięci w .NET
- 16. skopiować dane z tabeli w jednej bazy danych do innej bazy danych
- 17. Dodaj plik HTML do bazy danych SQLite
- 18. Uzyskać minimum z kolumny bazy danych SQLite?
- 19. Sync bazy danych sqlite z mysql
- 20. Tworzenie bazy danych w JDBC Sqlite
- 21. bazy danych sqlite w języku perskim
- 22. Zaktualizuj tabelę bazy danych z jednej tabeli bazy danych programu SQL Server do innej?
- 23. Jak skopiować dostęp do pliku bazy danych, mdb z plików programu do izolowanej pamięci w C#
- 24. Szyfrowanie bazy danych SQLite w C#
- 25. Używanie bazy danych SQLite w Libgdx
- 26. Jak ograniczyć przepłukiwanie bazy danych na dysk?
- 27. Synchronizacja bazy danych klienta SQLite z bazą danych serwera MySQL
- 28. Jak skopiować plik bazy danych dostępu do mojej aplikacji?
- 29. Powody korzystania czytelny bazy danych SQLite
- 30. Skopiuj dwie bazy danych SQLite w folderze zasobów w Androidzie
Wygląda na to, że to działa, ale jak skuteczne jest to? – Clay
@Clay: tak jak napisałem w mojej odpowiedzi ten kod jest bardziej ogólny i ogólny, można go użyć do zrzucenia całej bazy danych lub zrzucenia tylko danej tabeli, i jak jest to efektywne? kod używa iteratora tylko raz (mniej pamięci), a także tworzy całą bazę danych w jednym zapytaniu, co oznacza brak ruchu w górę i w dół (mniej komunikacji). – mouad
Dzięki! To mi bardzo pomoże. Podoba mi się elastyczność tego. – Clay