SQLite biedt ons de mogelijkheid om scripts rechtstreeks vanuit een bestand uit te voeren. Dit kan vooral handig zijn als je een groot script hebt (zoals het maken van een aantal databasetabellen en het invoegen van gegevens in die tabellen).
Hieronder staan vijf manieren om SQL-scripts rechtstreeks vanuit een bestand in SQLite uit te voeren.
Het kattencommando
De volgende code demonstreert de eerste optie voor het uitvoeren van een SQL-script vanuit een bestand in SQLite.
cat create_table.sql | sqlite3 Test.db
Dit veronderstelt dat mijn script create_table.sql . heet en ik wil het uitvoeren tegen de Test.db database.
Ik kon dit script rechtstreeks vanuit mijn Terminal-venster uitvoeren, zonder verbinding te maken met SQLite met behulp van de SQLite3
commando.
Het .read-commando
Als je al bent verbonden met SQLite, kun je de .read
. gebruiken commando.
.read insert_data.sql
Dit voorbeeld leest het script insert_data.sql uit de huidige map/directory. Specificeer het volledige pad indien in een andere map.
Gebruik het .read-commando zonder SQLite te openen
Hier is een andere manier om de .read
. te gebruiken commando.
sqlite3 Test.db ".read insert_data.sql"
Als u dit doet, worden de gegevens vanaf de opdrachtregel in de opgegeven database ingevoegd.
Het verschil tussen dit voorbeeld en het vorige is dat het vorige werd gedaan vanuit SQLite nadat je al verbinding had gemaakt. Met dit voorbeeld voert u het echter van buiten SQLite uit.
Als u Windows gebruikt, moet u mogelijk dit doen:
sqlite3.exe Test.db ".read insert_data.sql"
Redirect de invoer naar de database bij verbinding met SQLite
De volgende methode leidt de invoer om naar het databasebestand bij gebruik van sqlite3
om verbinding te maken met SQLite en de database te openen.
sqlite3 Test.db < insert_data.sql
De -init optie
Hier is nog een andere manier waarop u SQL-scripts kunt uitvoeren vanuit een bestand met SQLite.
sqlite3 Test.db -init insert_data.sql