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

SQLite - Insérer des données

Pour insérer des données dans une base de données SQLite, utilisez le INSERT déclaration.

Lorsque vous utilisez cette instruction, vous spécifiez les colonnes dans lesquelles insérer des données, ainsi que les données qui seront insérées. Le INSERT ajoute une nouvelle ligne au tableau avec les données spécifiées.

Ajoutons une ligne de données à nos Artistes tableau.

Exécutez l'instruction suivante :

INSERT INTO Artists (ArtistName)
VALUES ('Joe Satriani');

Vérifiez que les données ont été insérées

Vous pouvez exécuter un rapide SELECT déclaration pour vérifier que les données ont été insérées.

En savoir plus sur le SELECT instruction plus tard, mais pour l'instant, exécutez l'instruction suivante :

SELECT * FROM Artists;

Cela devrait se traduire par l'affichage suivant :

sqlite> SELECT * FROM Artists;
1|Joe Satriani

Un raccourci

Il y a une autre façon d'écrire le SELECT instruction qui utilise moins de code.

Vous pouvez simplement omettre les noms de colonne de la déclaration, et les champs seront toujours remplis.

Cependant, cette méthode nécessite que vous fournissiez une valeur pour toutes les colonnes.

Comme ceci :

INSERT INTO Artists VALUES (NULL, 'Steve Vai');

Maintenant, en exécutant le même SELECT renverra ce qui suit :

sqlite> SELECT * FROM Artists;
1|Joe Satriani
2|Steve Vai

À propos du champ de clé primaire

Vous avez peut-être déjà remarqué que l' ArtistId champ obtient sa valeur automatiquement. Dans notre premier INSERT , nous n'avons pas fourni de valeur pour cette colonne. Dans notre deuxième INSERT nous avons fourni NULL comme valeur.

Cela se produit parce que la colonne est de type INTEGER PRIMARY KEY . Lorsqu'une colonne a été affectée INTEGER PRIMARY KEY , ceci est un alias pour ROWID . Avec un ROWID , si une valeur n'est pas fournie par le INSERT instruction, SQLite insère automatiquement son propre entier dans ce champ.

La valeur du ROWID entier est généralement supérieur d'un au plus grand ROWID actuellement en utilisation. Sur une table vide, cette valeur commencera à 1 .

Ainsi, le résultat final est que si vous ne fournissez pas de valeur pour ce champ, SQLite le fera.

Ajout de plusieurs lignes

Vous pouvez utiliser autant de INSERT déclarations car vous devez ajouter plus de données.

INSERT INTO Artists VALUES (NULL, 'The Tea Party');
INSERT INTO Artists VALUES (NULL, 'Noiseworks');
INSERT INTO Artists VALUES (NULL, 'Wayne Jury');
INSERT INTO Artists VALUES (NULL, 'Mr Percival');
INSERT INTO Artists VALUES (NULL, 'Iron Maiden');
INSERT INTO Artists VALUES (NULL, 'Atmasphere');
INSERT INTO Artists VALUES (NULL, 'Ian Moss');
INSERT INTO Artists VALUES (NULL, 'Magnum');
INSERT INTO Artists VALUES (NULL, 'Strapping Young Lad');
INSERT INTO Artists VALUES (NULL, 'Slayer');
INSERT INTO Artists VALUES (NULL, 'Primus');
INSERT INTO Artists VALUES (NULL, 'Pat Metheny');
INSERT INTO Artists VALUES (NULL, 'Frank Gambale');
INSERT INTO Artists VALUES (NULL, 'Frank Zappa');
INSERT INTO Artists VALUES (NULL, 'The Wiggles');

Et maintenant notre SELECT renverra ce qui suit :

sqlite> SELECT * FROM Artists;
1|Joe Satriani
2|Steve Vai
3|The Tea Party
4|Noiseworks
5|Wayne Jury
6|Mr Percival
7|Iron Maiden
8|Atmasphere
9|Ian Moss
10|Magnum
11|Strapping Young Lad
12|Slayer
13|Primus
14|Pat Metheny
15|Frank Gambale
16|Frank Zappa
17|The Wiggles

Nous verrons ensuite de plus près comment sélectionner des données dans notre base de données.