この質問は、この回答に基づいています。
次の文はどういう意味ですか?
最後に、大文字と小文字が混在する識別子を使用しないでください。すべて小文字にするので、引用符を付ける必要はありません。
CREATE TABLE、USER_ID、NOT NULL などのコマンドを小文字に変更する必要があるということですか? - 一般的な命名規則に反するため、できません。
この質問は、この回答に基づいています。
次の文はどういう意味ですか?
最後に、大文字と小文字が混在する識別子を使用しないでください。すべて小文字にするので、引用符を付ける必要はありません。
CREATE TABLE、USER_ID、NOT NULL などのコマンドを小文字に変更する必要があるということですか? - 一般的な命名規則に反するため、できません。
ではPostgreSQL
、引用符で囲まれていない識別子は小文字に変換されます。
CREATE TABLE "MYTABLE" (id INT NOT NULL);
CREATE TABLE "mytable" (id INT NOT NULL);
INSERT
INTO "MYTABLE"
VALUES (1);
INSERT
INTO "mytable"
VALUES (2);
SELECT *
FROM mytable;
---
2
SELECT *
FROM MYTABLE;
---
2
どちらのクエリも、 ではなく2
に対して発行されているため、を返します。"mytable"
"MYTABLE"
返す(つまり、 ではなく1
に対してクエリを発行する) には、それを引用する必要があります。"MYTABLE"
"mytable"
SELECT *
FROM "MYTABLE";
---
1
CREATE TABLE
などは識別子ではなく、予約語です。
好きな場合に使用できます。
いいえ、紳士は、テーブル、列などの名前など、すべて小文字の識別子を使用して言及したと思います。これは、使用する CREATE TABLE などのコマンドには影響しません。
マルク
なぜ彼がそう言ったのか、私にはわかりません。少なくとも SQL Server では、識別子の大文字と小文字は関係ありません。多分それは他のDBMSシステムで行うでしょうか?