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

Insertion SQLite

Résumé :dans ce tutoriel, vous apprendrez à utiliser SQLite INSERT instruction pour insérer de nouvelles lignes dans une table.

Pour insérer des données dans une table, vous utilisez le INSERT déclaration. SQLite fournit différentes formes de INSERT instructions qui vous permettent d'insérer une seule ligne, plusieurs lignes et des valeurs par défaut dans une table.

De plus, vous pouvez insérer une ligne dans un tableau en utilisant les données fournies par un SELECT déclaration.

SQLite INSERT – insérer une seule ligne dans un tableau

Pour insérer une seule ligne dans un tableau, vous utilisez la forme suivante du INSERT déclaration :

INSERT INTO table (column1,column2 ,..)
VALUES( value1,	value2 ,...);Code language: SQL (Structured Query Language) (sql)

Examinons le INSERT déclaration plus en détail :

  • Tout d'abord, spécifiez le nom de la table dans laquelle vous souhaitez insérer des données après le INSERT INTO mots-clés.
  • Deuxièmement, ajoutez une liste de colonnes séparées par des virgules après le nom de la table. La liste des colonnes est facultative. Cependant, il est recommandé d'inclure la liste des colonnes après le nom de la table.
  • Troisièmement, ajoutez une liste de valeurs séparées par des virgules après le VALUES mot-clé. Si vous omettez la liste de colonnes, vous devez spécifier des valeurs pour toutes les colonnes de la liste de valeurs. Le nombre de valeurs dans la liste de valeurs doit être le même que le nombre de colonnes dans la liste de colonnes.

Nous utiliserons les artists table dans l'exemple de base de données pour la démonstration.

La déclaration suivante insère une nouvelle ligne dans les artists tableau :

INSERT INTO artists (name)
VALUES('Bud Powell');Code language: SQL (Structured Query Language) (sql)

Essayez-le

Parce que le ArtistId colonne est une colonne à incrémentation automatique, vous pouvez l'ignorer dans l'instruction. SQLite génère automatiquement un nombre entier séquentiel à insérer dans le ArtistId colonne.

Vous pouvez vérifier l'opération d'insertion en utilisant le SELECT suivant déclaration :

SELECT
	ArtistId,
	Name
FROM
	Artists
ORDER BY
	ArtistId DESC
LIMIT 1;Code language: SQL (Structured Query Language) (sql)

Essayez-le

Comme vous le voyez, nous avons une nouvelle ligne dans les artists tableau.

SQLite INSERT – Insertion de plusieurs lignes dans un tableau

Pour insérer plusieurs lignes dans un tableau, vous utilisez la forme suivante du INSERT déclaration :

INSERT INTO table1 (column1,column2 ,..)
VALUES 
   (value1,value2 ,...),
   (value1,value2 ,...),
    ...
   (value1,value2 ,...);
Code language: SQL (Structured Query Language) (sql)

Chaque liste de valeurs suivant les VALUES clause est une ligne qui sera insérée dans la table.

L'exemple suivant insère trois lignes dans les artists tableau :

INSERT INTO artists (name)
VALUES
	("Buddy Rich"),
	("Candido"),
	("Charlie Byrd");Code language: SQL (Structured Query Language) (sql)

Essayez-le

SQLite a émis un message :

Row Affected: 3

Vous pouvez vérifier le résultat à l'aide de la déclaration suivante :

SELECT
	ArtistId,
	Name
FROM
	artists
ORDER BY
	ArtistId DESC
LIMIT 3;Code language: SQL (Structured Query Language) (sql)

Essayez-le

SQLite INSERT – Insertion des valeurs par défaut

Lorsque vous créez une nouvelle table à l'aide de CREATE TABLE instruction, vous pouvez spécifier des valeurs par défaut pour les colonnes, ou un NULL si une valeur par défaut n'est pas spécifiée.

La troisième forme du INSERT l'instruction est INSERT DEFAULT VALUES , qui insère une nouvelle ligne dans une table en utilisant les valeurs par défaut spécifiées dans la définition de colonne ou NULL si la valeur par défaut n'est pas disponible et que la colonne n'a pas de NOT NULL contrainte.

Par exemple, l'instruction suivante insère une nouvelle ligne dans les artists table en utilisant INSERT DEFAULT VALUES :

INSERT INTO artists DEFAULT VALUES;Code language: SQL (Structured Query Language) (sql)

Essayez-le

Pour vérifier l'insertion, vous utilisez l'instruction suivante :

SELECT
	ArtistId,
	Name
FROM
	artists
ORDER BY
	ArtistId DESC;Code language: SQL (Structured Query Language) (sql)

Essayez-le

La valeur par défaut de ArtistId colonne est le prochain entier séquentiel . Cependant, le name la colonne n'a pas de valeur par défaut, par conséquent, le INSERT DEFAULT VALUES instruction insère NULL dedans.

SQLite INSERT – Insertion de nouvelles lignes avec les données fournies par un SELECT déclaration

Supposons que vous souhaitiez sauvegarder les artists tableau, vous pouvez suivre ces étapes :

Tout d'abord, créez une nouvelle table nommée artists_backup comme suit :

CREATE TABLE artists_backup(
   ArtistId INTEGER PRIMARY KEY AUTOINCREMENT,
   Name NVARCHAR
);Code language: SQL (Structured Query Language) (sql)

Essayez-le

Pour insérer des données dans le artists_backup table avec les données des artists table, vous utilisez le INSERT INTO SELECT déclaration comme suit :

INSERT INTO artists_backup 
SELECT ArtistId, Name
FROM artists;Code language: SQL (Structured Query Language) (sql)

Essayez-le

Si vous interrogez les données de artists_backup tableau, vous verrez toutes les données dans le artists tableau.

SELECT * FROM artists_backup;Code language: SQL (Structured Query Language) (sql)

Essayez-le

Dans ce tutoriel, vous avez appris à utiliser différentes formes de SQLite INSERT instruction qui insère de nouvelles lignes dans une table.

Références

  • https://www.sqlite.org/lang_insert.html – Instruction SQLite INSERT