133 votes

Exécuter le script de SQLite

Je démarre sqlite3 version 3.7.7, unix 11.4.2 en utilisant cette commande :

sqlite3 auction.db

où auction.db n'a pas encore été créé.

sqlite> auction.db < create.sql;

me donne cette erreur : near "auction": syntax error

Comment puis-je exécuter le script ?

184voto

mu is too short Points 205090

Vous voulez alimenter le create.sql en sqlite3 depuis l'interpréteur de commandes, et non depuis SQLite lui-même :

$ sqlite3 auction.db < create.sql

La version de SQLite de SQL ne comprend pas < pour les fichiers, votre shell le fait.

165voto

bitops Points 745

Il existe de nombreuses façons de procéder, l'une d'entre elles étant :

sqlite3 auction.db

Suivi par :

sqlite> .read create.sql

En général, le projet SQLite dispose d'une documentation vraiment fantastique ! Je sais que nous nous tournons souvent vers Google avant de consulter les documents, mais dans le cas de SQLite, les documents sont vraiment des écrits techniques à leur meilleur. C'est propre, clair et concis.

31voto

remeika Points 544

Afin d'exécuter des requêtes simples et de retourner à mon shell script, je pense que cela fonctionne bien :

$ sqlite3 example.db 'SELECT * FROM some_table;'

9voto

pimbrouwers Points 5499

Pour ceux qui utilisent PowerShell

PS C:\> Get-Content create.sql -Raw | sqlite3 auction.db

6voto

David Brun Points 91

Si vous utilisez le CMD de Windows, vous pouvez utiliser cette commande pour créer une base de données en utilisant sqlite3

C:\sqlite3.exe DBNAME.db ".read DBSCRIPT.sql"

Si vous n'avez pas de base de données avec ce nom, sqlite3 en créera une, et si vous en avez déjà une, il la lancera quand même mais avec l'erreur "TABLENAME already exists", je pense que vous pouvez aussi utiliser cette commande pour changer une base de données déjà existante (mais je ne suis pas sûr).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X