L'interface de ligne de commande SQLite a une commande point pratique appelée .mode
, qui vous permet de modifier la façon dont les résultats de la requête sont formatés.
L'une des valeurs que vous pouvez utiliser avec cette commande est insert
. L'utilisation de cette valeur entraîne le formatage de tous les résultats de requête ultérieurs en tant que SQL INSERT
déclaration.
Paramètres par défaut de SQLite
Tout d'abord, voici à quoi pourraient ressembler vos résultats normaux (en supposant que vous utilisez les paramètres par défaut de SQLite).
SELECT * FROM Products;
Résultat :
1|Widget Holder|139.5 2|Widget Opener|89.7 3|Widgets - 6 Pack|374.2 4|Blue Widget|63.0
Résultats sous forme d'instruction INSERT
Voici maintenant comment le modifier afin que les résultats soient formatés en SQL INSERT
déclaration :
.mode insert Products2
Cette déclaration spécifie Products2 comme table dans laquelle les données seront insérées. Vous devrez spécifier le nom de la table dans laquelle vous souhaitez insérer les données.
Maintenant, quand j'exécute le précédent SELECT
à nouveau, ils sont sortis sous la forme d'un INSERT
déclaration.
SELECT * FROM Products;
Résultat :
INSERT INTO Products2 VALUES(1,'Widget Holder',139.49999999999999999); INSERT INTO Products2 VALUES(2,'Widget Opener',89.700000000000002838); INSERT INTO Products2 VALUES(3,'Widgets - 6 Pack',374.19999999999998862); INSERT INTO Products2 VALUES(4,'Blue Widget',63.000000000000000001);
Enregistrer ce format
Lorsque vous ouvrez SQLite dans une nouvelle fenêtre de terminal, vous perdez ces paramètres. En d'autres termes, SQLite reviendra à son format de sortie par défaut (qui est une liste séparée par des tubes).
Cependant, vous pouvez réellement spécifier vos propres paramètres par défaut en enregistrant les paramètres ci-dessus dans un fichier texte.
Pour ce faire, saisissez ce qui suit dans un fichier texte :
.mode insert NewTable
Enregistrez ensuite ce fichier sous .sqliterc
dans votre répertoire personnel/(celui de l'utilisateur).
Désormais, lorsque vous vous connectez à SQLite dans une nouvelle fenêtre de terminal, il utilisera ces paramètres au lieu des paramètres SQLite par défaut.
Cet exemple utilise NewTable comme table cible mais vous pouvez utiliser ce que vous voulez.
Évidemment, le seul problème avec cela est que vous devrez changer le nom de la table si elle change. Et si vous avez besoin de vous donner la peine de le faire, il pourrait être plus facile de simplement le changer à la volée avec .mode insert NewTable
(au lieu de devoir rechercher/remplacer le nom de la table). Dans tous les cas, c'est une option si vous en avez besoin.