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

異なるデータベースはテーブル名と列名の区切り識別子をどのように処理しますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-29 14:06:11972ブラウズ

How Do Different Databases Handle Delimited Identifiers for Table and Column Names?

データベース内の異なる名前の引用

データベースでは、空白などの文字を含む可能性のあるテーブル名と列名の使用を許可するために区切り識別子が使用されます。特殊文字、国際文字、および大文字と小文字を区別する識別子。データベースごとに、これらの区切り文字にさまざまな文字が使用されます。

MySQL

MySQL はデフォルトで逆引用符を使用します。ただし、SQL_MODE が ANSI_QUOTES に設定されている場合は、標準の二重引用符がサポートされます。

SELECT * FROM `my_table`;  // MySQL default
SELECT * FROM "my_table";  // MySQL with ANSI_QUOTES

Microsoft SQL Server および Sybase

これらのデータベースは、デフォルトの区切り文字として括弧を使用します。また、次の設定を使用した二重引用符もサポートしています:

SELECT * FROM [my_table];  // Default
SET QUOTED_IDENTIFIER ON;
SELECT * FROM "my_table";

InterBase および Firebird

これらのデータベースでは、区切り識別子を使用するには SQL ダイアレクトを 3 に設定する必要があります。

SET SQL DIALECT 3;  // Enable delimited identifiers
SELECT * FROM "my_table";

その他データベース

標準 SQL を含む他のほとんどのデータベースは、区切り識別子として二重引用符を使用します。

SELECT * FROM "my_table";

区切り識別子を使用することにより、データベース ユーザーは次のようなテーブル名と列名を作成できます。それ以外の場合は SQL ではサポートされません。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。