Guide de débutant pour la requête SQL - INSERT

Bonjour là-bas, futurs magiciens des bases de données ! Aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde des requêtes SQL INSERT. En tant que votre enseignant bienveillant en informatique, je suis là pour vous guider à travers ce concept fondamental qui vous aidera à peupler vos bases de données avec des informations précieuses. Alors, prenez une tasse de café (ou de thé, si c'est votre truc), et plongons dedans !

SQL - Insert Query

La déclaration SQL INSERT INTO

Qu'est-ce qu'une déclaration INSERT ?

Imaginez que vous avez une table de base de données magnifiquement conçue, mais vide. Quelle tristesse ! C'est là que la déclaration INSERT intervient pour nous sauver. C'est comme un sort magique qui nous permet d'ajouter de nouvelles fiches (lignes) à nos tables.

Syntaxe de base

La syntaxe de base d'une déclaration INSERT ressemble à ceci :

INSERT INTO nom_table (colonne1, colonne2, colonne3, ...)
VALUES (valeur1, valeur2, valeur3, ...);

Reprenons cela :

  • INSERT INTO indique à SQL que nous voulons ajouter de nouvelles données
  • nom_table est l'endroit où vous spécifiez à quelle table vous ajoutez des données
  • Les colonnes entre parenthèses sont celles que vous souhaitez remplir
  • Le mot-clé VALUES introduit les données réelles que vous insérez

Exemple 1 : Insérer une seule ligne

Disons que nous avons une table appelée students avec les colonnes : id, name, et age. Voici comment nous pourrions ajouter un nouvel étudiant :

INSERT INTO students (id, name, age)
VALUES (1, 'John Doe', 20);

Cela ajoute une nouvelle ligne à notre table students avec l'ID 1, le nom "John Doe", et l'âge 20.

Exemple 2 : Insérer plusieurs lignes

Vous souhaitez ajouter plusieurs étudiants à la fois ? Pas de problème ! Nous pouvons aussi faire cela :

INSERT INTO students (id, name, age)
VALUES
(2, 'Jane Smith', 22),
(3, 'Bob Johnson', 21),
(4, 'Alice Brown', 23);

Cette seule requête ajoute trois nouveaux étudiants à notre table. Efficace, non ?

Insérer des données dans une table en utilisant une autre table

Parfois, vous pourriez vouloir copier des données d'une table à une autre. SQL rend cela super simple !

Syntaxe

La syntaxe pour insérer des données d'une autre table ressemble à ceci :

INSERT INTO table1 (colonne1, colonne2, colonne3, ...)
SELECT colonne1, colonne2, colonne3, ...
FROM table2
WHERE condition;

Exemple 3 : Copier des données entre tables

Disons que nous avons une table appelée honor_roll et que nous voulons ajouter tous les étudiants de 21 ans ou plus de notre table students :

INSERT INTO honor_roll (student_id, student_name)
SELECT id, name
FROM students
WHERE age >= 21;

Cette requête copie l'id et le name de tous les étudiants de 21 ans ou plus de la table students dans la table honor_roll.

Insérer des données uniquement dans des colonnes spécifiées

Parfois, vous n'avez pas besoin de remplir toutes les colonnes lors de l'insertion des données. SQL est suffisamment souple pour gérer cela !

Exemple 4 : Insérer des données partielles

Ajoutons un nouvel étudiant, mais cette fois nous ne connaissons pas leur âge :

INSERT INTO students (id, name)
VALUES (5, 'Eva Green');

Dans ce cas, la colonne age pour Eva sera remplie avec une valeur NULL (ou une valeur par défaut si une est définie dans la définition de la table).

Exemple 5 : Utiliser des valeurs par défaut

Si votre table a des valeurs par défaut définies pour certaines colonnes, vous pouvez les utiliser explicitement :

INSERT INTO students (id, name, age)
VALUES (6, 'Frank White', DEFAULT);

Cela suppose que la colonne age a une valeur par défaut définie dans la structure de la table.

Astuces et bonnes pratiques

  1. Toujours énumérer vos colonnes : Même si vous insérez des valeurs pour toutes les colonnes, les énumérer explicitement rend votre code plus lisible et moins sujet aux erreurs.

  2. Utilisez des transactions : Lors de l'insertion de plusieurs lignes, enveloppez vos déclarations INSERT dans une transaction. Cela garantit que soit toutes les insertions réussissent, soit aucune.

  3. Validez vos données : Avant d'insérer, assurez-vous que vos données respectent les exigences de votre table (types de données, contraintes, etc.).

  4. Soyez prudent avec les colonnes auto-incrémentées : Si une colonne s'auto-incrémente (comme une colonne ID souvent le fait), vous n'avez généralement pas besoin de spécifier une valeur pour cette colonne dans votre déclaration INSERT.

Méthodes courantes d'INSERT

Voici un tableau pratique résumant les méthodes INSERT que nous avons couvertes :

Méthode Description Exemple
INSERT de base Insère une seule ligne avec des valeurs spécifiées INSERT INTO table (colonne1, colonne2) VALUES (valeur1, valeur2);
INSERT multiple lignes Insère plusieurs lignes en une seule déclaration INSERT INTO table (colonne1, colonne2) VALUES (valeur1, valeur2), (valeur3, valeur4);
INSERT avec SELECT Copie des données d'une table à une autre INSERT INTO table1 SELECT colonne1, colonne2 FROM table2 WHERE condition;
INSERT partiel Insère des données dans seulement des colonnes spécifiées INSERT INTO table (colonne1) VALUES (valeur1);
INSERT avec DEFAULT Utilise des valeurs par défaut pour certaines colonnes INSERT INTO table (colonne1, colonne2) VALUES (valeur1, DEFAULT);

Et voilà, mes apprenants enthousiastes ! Vous avez appena fait vos premiers pas dans le monde des requêtes SQL INSERT. Souvenez-vous, la pratique rend parfait, alors n'ayez pas peur d'expérimenter avec ces concepts. Avant de savoir, vous insertirez des données comme un pro !

Bon codage, et puissent vos bases de données toujours être parfaitement peuplées !

Credits: Image by storyset