Mot-clé MySQL VALUES
Le mot-clé `VALUES` dans MySQL est utilisé pour spécifier les données à insérer dans un tableau lors d'une opération `INSERT`. Il définit les valeurs littérales à insérer pour chaque colonne du tableau.
Utilisation
Le mot-clé `VALUES` est utilisé en conjonction avec `INSERT INTO` pour ajouter de nouvelles tables de données dans un tableau. Elle est suivie d'une liste de valeurs qui correspondent aux colonnes spécifiées dans la clause `INSERT INTO`.
sql
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
Dans cette syntaxe, `VALUES (value1, value2, ...)` spécifie les données à insérer dans les tableaux respectifs. `VALUES` ne peut être utilisé qu'avec les opérations `INSERT` et non avec `UPDATE` ou d'autres opérations.
Exemples
1. Insertion de base
sql
INSERT INTO students (name, age)
VALUES ('John Doe', 21);
Cet exemple insère une nouvelle ligne dans le tableau `students` avec `name` fixé à 'John Doe' et `age` fixé à 21.
2. Insertion de plusieurs lignes
sql
INSERT INTO products (product_name, price)
VALUES ('Laptop', 899.99), ('Smartphone', 599.99);
Ici, deux nouveaux tableaux sont ajoutés au tableau `products`, chacun avec les valeurs spécifiées pour `product_name` et `price`.
3. Insérer avec SELECT
sql
INSERT INTO archive_table (column1, column2)
SELECT column1, column2
FROM main_table
WHERE condition;
Les données sont insérées dans `archive_table` sur la base d'une instruction `SELECT`, ce qui permet un transfert de données en masse dans des conditions spécifiques. Contrairement à `INSERT ... VALUES`, cette opération n'utilise pas le mot-clé `VALUES`.
Conseils et bonnes pratiques
- Veillez à ce que l'ordre des valeurs corresponde aux colonnes. Les valeurs doivent correspondre à l'ordre des colonnes spécifié dans l'instruction `INSERT INTO`.
- Utilisez des guillemets simples pour les chaînes de caractères. Mettez les chaînes de caractères entre guillemets simples pour éviter les erreurs de syntaxe.
- Validez les types de données. Assurez-vous que les valeurs correspondent aux types de données attendus par les tableaux.
- Pensez à utiliser `INSERT IGNORE` ou `REPLACE`. Ceux-ci peuvent gérer les doublons ou les conflits sur la base de clés primaires ou d'index uniques.
- Sécurisez vos entrées. Utilisez des requêtes paramétrées ou des instructions préparées pour prévenir les attaques par injection SQL.
- Gérer les erreurs et les exceptions. Soyez attentif aux erreurs possibles telles que les violations de clés dupliquées ou de contraintes de clés étrangères.