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

Sortie des résultats de la requête SQLite sous la forme d'une instruction INSERT

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.