sql >> Databáze >  >> RDS >> PostgreSQL

Proč PostgreSQL nemá rád názvy tabulek VELKÝMI PÍSMENY?

vložte název tabulky do dvojitých uvozovek, pokud chcete, aby postgres zachoval velikost písmen pro názvy vztahů.

Při citování identifikátoru se také rozlišují malá a velká písmena, zatímco jména v uvozovkách jsou vždy složena na malá písmena . Například identifikátoryFOO, foo a "foo" jsou PostgreSQL považovány za stejné, ale "Foo" a "FOO" se od těchto tří a navzájem liší. (Skládání neuvedených jmen na malá písmena v PostgreSQL je nekompatibilní se standardem SQL, který říká, že jména v uvozovkách by se měla skládat na velká písmena. Foo by tedy podle standardu mělo být ekvivalentní "FOO", nikoli "foo". Pokud chcete psát přenosné aplikace, u kterých je doporučeno vždy nebo nikdy neuvádět konkrétní jméno .)

z dokumentů (důraz můj)

příklad s citací:

t=# create table "UC_TNAME" (i int);
CREATE TABLE
t=# \dt+ UC

t=# \dt+ "UC_TNAME"
                      List of relations
 Schema |   Name   | Type  |  Owner   |  Size   | Description
--------+----------+-------+----------+---------+-------------
 public | UC_TNAME | table | postgres | 0 bytes |
(1 row)

příklad bez uvozovek:

t=# create table UC_TNAME (i int);
CREATE TABLE
t=# \dt+ UC_TNAME
                      List of relations
 Schema |   Name   | Type  |  Owner   |  Size   | Description
--------+----------+-------+----------+---------+-------------
 public | uc_tname | table | postgres | 0 bytes |
(1 row)

Takže pokud jste vytvořili tabulku s uvozovkami, neměli byste přeskočit uvozovky při jejím dotazování. Ale pokud jste při vytváření objektu přeskočili uvozovky, název byl složen na malá písmena a tak tomu bude i s velkým názvem v dotazu – tímto způsobem si toho „nevšimnete“.



  1. PostgreSQL, drag and swap

  2. Jak vypsat databáze a tabulky v PostgreSQL pomocí psql

  3. Jak zobrazit historii dotazů v SQL Server Management Studio

  4. SQL GROUP BY- 3 snadné tipy pro seskupení výsledků jako profesionál