Maison > base de données > tutoriel mysql > INSERT MySQL : VALUES vs SET – Quelle est la vraie différence ?

INSERT MySQL : VALUES vs SET – Quelle est la vraie différence ?

DDD
Libérer: 2025-01-14 07:52:44
original
144 Les gens l'ont consulté

MySQL INSERT: VALUES vs. SET – What's the Real Difference?

Instruction MySQL INSERT : Explication détaillée des différences entre VALUES et SET

Dans les opérations de base de données, deux syntaxes sont souvent utilisées lors de l'insertion de données : INSERT INTO table VALUES... et INSERT INTO table SET. Comprendre les différences subtiles entre ces deux syntaxes peut améliorer vos compétences SQL et optimiser les interactions avec les bases de données.

Structure grammaticale et équivalence

La syntaxe des deux instructions est la suivante :

  • INSERT INTO table (column1, column2, ...) VALUES (...)
  • INSERT INTO table SET column1 = value1, column2 = value2, ...
La syntaxe

VALUES est conforme au standard SQL, tandis que la syntaxe SET est une extension spécifique à MySQL. Essentiellement, les deux instructions accomplissent le même objectif : insérer une nouvelle ligne dans le tableau en fonction d'une valeur spécifiée.

Impact sur les performances

Contrairement à la croyance populaire, les performances de ces deux syntaxes sont essentiellement les mêmes. La documentation MySQL confirme cette équivalence, déclarant que « les formulaires d'instruction INSERT ... VALUES et INSERT ... SET insèrent des lignes basées sur des valeurs explicitement spécifiées » et ont des caractéristiques de performances similaires.

Instructions supplémentaires dans la documentation MySQL

La documentation MySQL fournit des instructions supplémentaires :

La différence entre les formes de syntaxe SET et VALUES est que la syntaxe SET vous permet d'insérer des valeurs dans le tableau même si aucun nom de colonne n'est spécifié lors de l'insertion de données à partir d'un fichier CSV ou autre. source de données qui ne fournit pas de noms de colonnes. C'est très utile »

.

Exemple

Pour illustrer leur équivalence, considérons l'exemple suivant :

<code class="language-sql">INSERT INTO table (a, b, c) VALUES (1, 2, 3)</code>
Copier après la connexion
<code class="language-sql">INSERT INTO table SET a = 1, b = 2, c = 3</code>
Copier après la connexion

Les deux instructions inséreront une ligne de nouvelles données dans le tableau "table", les valeurs des colonnes a, b et c étant respectivement 1, 2 et 3.

Conclusion

Comprendre les différences subtiles entre INSERT INTO table VALUES... et INSERT INTO table SET dans MySQL permet aux développeurs d'utiliser ces syntaxes de manière interchangeable en fonction de leurs préférences ou de leur cas d'utilisation spécifique. Les résultats de performances pour les deux structures sont identiques, permettant une insertion de données efficace et optimisée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal