SQL ステートメントのマークアップ: バックティックと角括弧
SQL ステートメントでフィールド名またはテーブル名を定義する場合、開発者は多くの場合、それらを文字で囲みます。予約されたキーワードや特殊文字を防ぐため。 MySQL では通常、これはバックティック (``) で行われますが、SQL Server または MS Access では角括弧 ([]) が使用されます。
互換性の違い
バッククォートと角括弧の主な違いは、データベースの互換性にあります。バッククォートは MySQL 専用ですが、角括弧は SQL Server/T-SQL および MS Access で使用されます。したがって、SQL Server でバッククォートを使用すると、構文エラーが発生する可能性があります。
MySQL のバッククォートについて
MySQL では、バッククォートは識別子の引用符として機能します。これらを使用すると、開発者は、予約されたキーワード、大文字と小文字の区別、または特殊文字と競合するテーブル名またはフィールド名を囲むことができます。
例:
SELECT * FROM `select` WHERE `select`.id > 100;
ANSI_QUOTES の考慮事項
MySQL は、二重引用符で囲んだ識別子の引用符もサポートしています。 ANSI_QUOTES SQL モードが有効です。
例:
SET sql_mode='ANSI_QUOTES'; CREATE TABLE "test" (col INT);
結論
バッククォートと角括弧は両方ともフィールドとテーブルを保護するという目的を達成します。名前の使用は、使用されている特定のデータベース テクノロジによって異なります。 MySQL の場合はバッククォートのみを使用する必要がありますが、SQL Server または MS Access の場合は角かっこが適切な選択です。
以上がSQL のバッククォートと角括弧: どちらの識別子引用符を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。