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.