私は3つのSQLite DBを持っています。それぞれはテーブル構造に関して7つのテーブルのセットと全く同じセットを持っています。 [3種類のマシンからのログダンプです。Fastest Wayは2つのSQLiteデータベースを結合します
私はそれらを非常に同じ7つのテーブルを持つ1つのSQLite DBに結合したいと思いますが、各テーブルには3つのすべてのDBの結合データが必要です。私は3つの質問を実行したいからです。 これを行うには、最善の方法は何ですか。
私は3つのSQLite DBを持っています。それぞれはテーブル構造に関して7つのテーブルのセットと全く同じセットを持っています。 [3種類のマシンからのログダンプです。Fastest Wayは2つのSQLiteデータベースを結合します
私はそれらを非常に同じ7つのテーブルを持つ1つのSQLite DBに結合したいと思いますが、各テーブルには3つのすべてのDBの結合データが必要です。私は3つの質問を実行したいからです。 これを行うには、最善の方法は何ですか。
各データベースをSQLダンプにエクスポートし、ダンプを新しい結合データベースにインポートします。 エクスポート形式:SQL>がを完了GUIのために
は、データベースデータベース>エクスポートされますSQLiteStudioで、例えばhttp://www.sqlite.org/cvstrac/wiki?p=ManagementTools
を見てみましょう。
ねえ、GUIはオプションではありませんが、これはプログラムを繰り返し実行する必要があります。私はSQLのダンプ方法を調べるでしょう、それは各テーブルのIDのプライマリキーの制約を処理するでしょう、私はそれについて少し疑問です。 – subiet
なぜ主キーをエクスポートする必要がありますか?データをエクスポートしてレコードを挿入すると、キーが生成されます。 Pythonでそれをしたい場合は、http://mysql-python.sourceforge.net/MySQLdb.html#some-examplesとhttp://www.kitebird.com/articles/pydbapi.htmlを見てください。 – ccpizza
ここでは、2つのデータベースを同じ構造のすべてのテーブルとマージする方法の1つです。私はそれが助けることを望む。
import sqlite3
con3 = sqlite3.connect("combine.db")
con3.execute("ATTACH 'results_a.db' as dba")
con3.execute("BEGIN")
for row in con3.execute("SELECT * FROM dba.sqlite_master WHERE type='table'"):
combine = "INSERT INTO "+ row[1] + " SELECT * FROM dba." + row[1]
print(combine)
con3.execute(combine)
con3.commit()
con3.execute("detach database dba")
http://stackoverflow.com/questions/80801/how-can-i-merge-many-sqlite-databases、http://stackoverflow.com/questions/3689694/merge-sqlite-files- db-file-and-begin-commit-questionを参照してください。http://stackoverflow.com/questions/3232900/how-to-merge-n-sqlite-database-files-into-one-if-db-プライマリフィールドを持っている、http://stackoverflow.com/questions/4913369/how-to-merge-multiple-database-files-in-sqlite、http://stackoverflow.com/questions/9048711/merging-データベース、...そこに何かまたはリンクされた質問はあなたを助けた? – Mat
ええ、私はそれらを通過し、さらにいくつか。私は私のpythonコード内でこれを行うための堅牢な方法を探しているので、私はベストプラクティスを探していました。 – subiet
@subiet、重複する行がある場合はどうなりますか? – Pacerier