テキストファイルからデータベースを作成する方法はありますか? 事前入力された DB をアプリに組み込みたいのですが、必要なものを検索するための適切な単語が見つかりません。テキスト ファイル (名前のリスト) 内の各単語に独自の ID を割り当て、データベースに保存することを検討しています。ユーザーがアプリをダウンロードしたときに DB が既にセットアップされ、準備が整っているように、これをすべて自分の側で実行したいと考えています。.db を assets フォルダーに保存できることは知っていますが、困惑したのは .db の実際の生成です。
2 に答える
テキスト ファイルが適切にフォーマットされている場合 (CSV など)、sqlite3 実行可能ファイルを介してインポートできます。ここ を参照してください。
sqlite> create table myTable (id integer, col_a integer, col_b integer, col_c text);
sqlite> .separator ","
sqlite> .import myFile.csv myTable
GUIでやりたいならSQLiteStudioをオススメします。テーブルに手動で入力するのは簡単で、クエリを直接実行することもできます (ツール=>クエリ エディタを開く)。そこからインポートする場合は、最初に入力するテーブルを作成し、それを強調表示して [テーブル] => [データをテーブルにインポート] を選択します。
データからいくつかの INSERT ステートメントを生成し、選択した sqlite ツールに対して実行し、db ファイルを保存して完了です。または、アプリに挿入する SQL ステートメントを送信します。どちらの方法も機能します。
そのため、いくつかのツール ( SQLite Managerなど、私は個人的にPentaho Data Integration/Kettleを使用しています) をローカルで使用して、db ファイルを作成します。次に、そのファイルを /assets フォルダーに配置し、アプリと共に出荷します。最初の起動時に、ファイルを /assets から db フォルダーにコピーします (これを行う方法については、たくさんのチュートリアルがあります)。
または、起動時にデータベースを最初から作成し、db ファイルの代わりに (使い慣れたツールを使用して) SQL ステートメントを含むファイルを事前に作成し、それを読み取って新しく作成したデータベースに対して実行します。
私は両方の方法でそれを行いましたが、両方の方法で機能します。セットアップで問題が少ない/高速な方法を試す必要があります。