SQLiteは、ファイルから直接スクリプトを実行する機能を提供します。これは、大きなスクリプトがある場合(データベーステーブルの束を作成し、それらのテーブルにデータを挿入するなど)に特に役立ちます。
以下は、SQLiteのファイルから直接SQLスクリプトを実行する5つの方法です。
猫のコマンド
次のコードは、SQLiteのファイルからSQLスクリプトを実行するための最初のオプションを示しています。
cat create_table.sql | sqlite3 Test.db
これは、私のスクリプトが create_table.sqlと呼ばれていることを前提としています。 Test.dbに対して実行したい データベース。
SQLite3
を使用してSQLiteに接続しなくても、ターミナルウィンドウからこのスクリプトを直接実行できました。 コマンド。
.readコマンド
すでにSQLiteに接続している場合は、.read
を使用できます コマンド。
.read insert_data.sql
この例では、スクリプト insert_data.sqlを読み取ります 現在のフォルダ/ディレクトリから。別のディレクトリにある場合は、フルパスを指定してください。
SQLiteを開かずに.readコマンドを使用する
.read
を使用する別の方法は次のとおりです コマンド。
sqlite3 Test.db ".read insert_data.sql"
これを行うと、コマンドラインから指定されたデータベースにデータが挿入されます。
この例と前の例の違いは、前の例は、すでに接続した後でSQLite内から実行されたことです。ただし、この例では、SQLiteの外部から実行します。
Windowsを使用している場合は、次のことを行う必要があります。
sqlite3.exe Test.db ".read insert_data.sql"
SQLiteに接続するときに入力をデータベースにリダイレクトする
次のメソッドは、sqlite3
を使用するときに、入力をデータベースファイルにリダイレクトします SQLiteに接続してデータベースを開きます。
sqlite3 Test.db < insert_data.sql
-initオプション
SQLiteを使用してファイルからSQLスクリプトを実行するもう1つの方法があります。
sqlite3 Test.db -init insert_data.sql