MySQL INSERT INTO
: VALUES
vs. SET
– Choisir la bonne syntaxe
L'instruction INSERT INTO
ajoute de nouveaux enregistrements à une table MySQL. Il existe deux variantes de syntaxe courantes : utiliser VALUES
et utiliser SET
. Cet article clarifie leurs différences et vous aide à choisir la meilleure approche.
Variations de syntaxe
VALUES
Syntaxe : Cette syntaxe SQL standard répertorie les valeurs des colonnes entre parenthèses. L'ordre des valeurs doit correspondre à l'ordre des colonnes du tableau.
SET
Syntaxe : Cette syntaxe spécifique à MySQL attribue des valeurs aux colonnes individuellement à l'aide de column_name = value
paires. L’ordre des colonnes n’a pas d’importance.
Exemple illustratif :
<code class="language-sql">-- VALUES syntax INSERT INTO my_table (col1, col2, col3) VALUES (10, 'value2', 30); -- SET syntax INSERT INTO my_table SET col1 = 10, col2 = 'value2', col3 = 30;</code>
Performance et équivalence
La documentation MySQL confirme que les deux méthodes sont fonctionnellement équivalentes en termes de performances. Ils obtiennent tous deux le même résultat : ajouter une nouvelle ligne avec les données spécifiées.
Cependant, une différence clé réside dans la conformité à la norme SQL. VALUES
est du SQL standard, tandis que SET
est une extension MySQL. Par conséquent, VALUES
offre une meilleure portabilité entre différents systèmes de bases de données.
Approche recommandée
Bien que la syntaxe SET
puisse améliorer la lisibilité, en particulier lorsqu'il s'agit de nombreuses colonnes ou d'insertion sélective de données, la syntaxe standard VALUES
est généralement préférée en raison de sa compatibilité plus large. Le choix optimal dépend des exigences individuelles du projet et des préférences en matière de style de codage.
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!