SQLite ger oss möjligheten att köra skript direkt från en fil. Detta kan vara särskilt användbart när du har ett stort skript (som att skapa ett gäng databastabeller och infoga data i dessa tabeller).
Nedan finns fem sätt att köra SQL-skript direkt från en fil i SQLite.
Kattkommandot
Följande kod visar det första alternativet för att köra ett SQL-skript från en fil i SQLite.
cat create_table.sql | sqlite3 Test.db
Detta förutsätter att mitt skript heter create_table.sql och jag vill köra den mot Test.db databas.
Jag kunde köra det här skriptet direkt från mitt terminalfönster, utan att ansluta till SQLite med SQLite3
kommando.
.read-kommandot
Om du redan är ansluten till SQLite kan du använda .read
kommando.
.read insert_data.sql
Det här exemplet läser skriptet insert_data.sql från den aktuella mappen/katalogen. Ange den fullständiga sökvägen om du finns i en annan katalog.
Använd kommandot .read utan att öppna SQLite
Här är ett annat sätt att använda .read
kommando.
sqlite3 Test.db ".read insert_data.sql"
Om du gör detta infogas data i den angivna databasen från kommandoraden.
Skillnaden mellan det här exemplet och det föregående är att det föregående gjordes inifrån SQLite efter att du redan hade anslutit. Men med det här exemplet kör du det utanför SQLite.
Om du använder Windows kan du behöva göra så här:
sqlite3.exe Test.db ".read insert_data.sql"
Omdirigera indata till databasen när du ansluter till SQLite
Följande metod omdirigerar indata till databasfilen när du använder sqlite3
för att ansluta till SQLite och öppna databasen.
sqlite3 Test.db < insert_data.sql
Alternativet -init
Här är ytterligare ett sätt att köra SQL-skript från en fil med SQLite.
sqlite3 Test.db -init insert_data.sql