ホームページ >データベース >mysql チュートリアル >MySQL INSERT INTO: VALUES と SET – どちらの構文を使用する必要がありますか?
MySQL INSERT INTO
: VALUES
対 SET
– 正しい構文の選択
INSERT INTO
ステートメントは、MySQL テーブルに新しいレコードを追加します。 一般的な構文には、VALUES
を使用するものと SET
を使用するものという 2 つのバリエーションがあります。 この記事では、それらの違いを明確にし、最適なアプローチを選択するのに役立ちます。
構文のバリエーション
VALUES
構文: この標準 SQL 構文は、括弧内に列の値をリストします。 値の順序はテーブルの列の順序と一致する必要があります。
SET
構文: この MySQL 固有の構文は、column_name = value
ペアを使用して列に値を個別に割り当てます。 列の順序は関係ありません。
例:
<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>
パフォーマンスと同等
MySQL のドキュメントでは、両方のメソッドがパフォーマンスの点で機能的に同等であることが確認されています。 どちらも同じ結果、つまり指定されたデータを含む新しい行を追加します。
ただし、重要な違いは SQL 標準への準拠にあります。 VALUES
は標準 SQL ですが、SET
は MySQL 拡張機能です。 したがって、VALUES
は、異なるデータベース システム間での移植性が向上します。
推奨されるアプローチ
SET
構文は、特に多数の列を処理する場合やデータを選択的に挿入する場合に読みやすさを向上させることができますが、互換性がより広いため、標準の VALUES
構文が一般的に好まれます。 最適な選択は、個々のプロジェクトの要件とコーディング スタイルの好みによって異なります。
以上がMySQL INSERT INTO: VALUES と SET – どちらの構文を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。