SQLite
 sql >> Base de données >  >> RDS >> SQLite

5 façons d'exécuter un script SQL à partir d'un fichier dans SQLite

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