ホームページ > データベース > mysql チュートリアル > 異なる SQL データベースは識別子の区切り文字をどのように処理しますか?

異なる SQL データベースは識別子の区切り文字をどのように処理しますか?

Linda Hamilton
リリース: 2024-12-29 07:29:09
オリジナル
202 人が閲覧しました

How Do Different SQL Databases Handle Identifier Delimiters?

データベース識別子の区切り文字: 引用符のバリエーションの詳細

SQL の領域では、識別子 (テーブル名、列名) には、英数字以外の文字が含まれているか、SQL キーワードと競合する可能性があります。これに対処するために、データベースでは「区切り識別子」として知られる区切り文字が採用されています。

バックティックと二重引用符を含む引用符

慣例により、SQL はデフォルトとして二重引用符を使用します。引用符で囲まれた識別子の区切り文字:

SELECT * FROM "my_table";
ログイン後にコピー

ただし、データベースはこの標準から逸脱しています。たとえば、MySQL と Microsoft SQL Server には次のようなバリエーションが導入されています:

  • MySQL: MySQL はデフォルトで逆引用符 (`) を使用しますが、二重引用符もサポートしています:
SELECT * FROM `my_table`;

-- Enabling ANSI mode allows for double-quotes:
SET SQL_MODE=ANSI_QUOTES;
SELECT * FROM "my_table";
ログイン後にコピー
  • Microsoft SQL Server: Microsoft SQLサーバーはデフォルトの区切り文字として括弧 ([]) を使用しますが、二重引用符は次の設定でサポートされています:
SELECT * FROM [my_table];

-- Turn on quoted identifiers:
SET QUOTED_IDENTIFIER ON;
SELECT * FROM "my_table";
ログイン後にコピー

InterBase および Firebird の場合、SQL を変更する必要があります。区切り識別子を許可するための方言。

に準拠標準

多くのデータベース システムは二重引用符の規則に従っていますが、引用方法のバリエーションは、ドキュメントを確認し、各 DBMS の特定の規則に従うことの重要性を強調しています。そうすることで、構文エラーを回避し、SQL クエリが意図したとおりに実行されるようにすることができます。

以上が異なる SQL データベースは識別子の区切り文字をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート