sql >> Databasteknik >  >> RDS >> SQLite

5 sätt att köra ett SQL-skript från en fil i SQLite

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


  1. Hur övervakar jag SQL Server-tabelländringar med c#?

  2. Returnera rad endast om värdet inte finns

  3. Tidsdel av ett DateTime-fält i SQL

  4. Hur kan jag ansluta flera SQL-tabeller med ID:n?