SQLite nous offre la possibilité d'exécuter des scripts directement à partir d'un fichier. Cela peut être particulièrement utile lorsque vous avez un script volumineux (comme la création d'un ensemble de tables de base de données et l'insertion de données dans ces tables).
Vous trouverez ci-dessous cinq façons d'exécuter des scripts SQL directement à partir d'un fichier dans SQLite.
La commande du chat
Le code suivant illustre la première option pour exécuter un script SQL à partir d'un fichier dans SQLite.
cat create_table.sql | sqlite3 Test.db
Cela suppose que mon script s'appelle create_table.sql et je veux l'exécuter sur Test.db base de données.
J'ai pu exécuter ce script directement depuis ma fenêtre Terminal, sans me connecter à SQLite en utilisant le SQLite3
commande.
La commande .read
Si vous êtes déjà connecté à SQLite, vous pouvez utiliser le .read
commande.
.read insert_data.sql
Cet exemple lit le script insert_data.sql du dossier/répertoire en cours. Spécifiez le chemin complet si dans un répertoire différent.
Utiliser la commande .read sans ouvrir SQLite
Voici une autre façon d'utiliser le .read
commande.
sqlite3 Test.db ".read insert_data.sql"
Cela insèrera les données dans la base de données spécifiée à partir de la ligne de commande.
La différence entre cet exemple et le précédent, c'est que le précédent a été fait depuis SQLite après que vous vous soyez déjà connecté. Cependant, avec cet exemple, vous l'exécutez depuis l'extérieur de SQLite.
Si vous utilisez Windows, vous devrez peut-être procéder comme suit :
sqlite3.exe Test.db ".read insert_data.sql"
Rediriger l'entrée vers la base de données lors de la connexion à SQLite
La méthode suivante redirige l'entrée vers le fichier de base de données lors de l'utilisation de sqlite3
pour se connecter à SQLite et ouvrir la base de données.
sqlite3 Test.db < insert_data.sql
L'option -init
Voici encore une autre façon d'exécuter des scripts SQL à partir d'un fichier avec SQLite.
sqlite3 Test.db -init insert_data.sql