Namen und Kennungen - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Namen und Kennungen

Namen bezeichnen Datenbankobjekte, u. a. Tabellen und Spalten sowie Benutzer und Passwörter. Die Begriffe Name und Kennung können synonym verwendet werden. Es gibt zwei Arten von Kennungen, Standard-Kennungen und abgegrenzte Kennungen in Anführungszeichen. Bezeichner dürfen nur aus UTF -8 druckbaren Zeichen bestehen. ASCIIBei Buchstaben in Standardbezeichnern und Bezeichnern mit Trennzeichen wird nicht zwischen Groß- und Kleinschreibung unterschieden und sie werden in der Datenbank zu Kleinbuchstaben gefaltet. In Abfrageergebnissen werden Spaltennamen standardmäßig in Kleinbuchstaben zurückgegeben. Um Spaltennamen in Großbuchstaben zurückzugeben, legen Sie den describe_field_name_in_uppercase-Konfigurationsparameter auf true fest.

Standard-Kennungen

SQLStandardkennungen unterliegen einer Reihe von Regeln und müssen:

  • Beginnen Sie mit einem alphabetischen ASCII Einzelbyte-Zeichen oder einem Unterstrich oder einem Multibyte-Zeichen von UTF -8 mit einer Länge von zwei bis vier Byte.

  • Nachfolgende Zeichen können alphanumerische ASCII Einzelbyte-Zeichen, Unterstriche oder Dollarzeichen oder UTF -8 Multibyte-Zeichen mit einer Länge von zwei bis vier Byte sein.

  • Zwischen 1 und 127 Byte lang sein, ohne die Anführungszeichen für abgegrenzte Kennungen.

  • Dürfen keine Anführungszeichen oder Leerzeichen enthalten

  • Es darf kein reserviertes Schlüsselwort sein. SQL

Abgegrenzte Kennungen

Abgegrenzte Kennungen (bzw. Kennungen in Anführungszeichen) beginnen und enden mit einem doppelten Anführungszeichen ("). Wenn Sie eine abgegrenzte Kennungen verwenden, müssen Sie die doppelten Anführungszeichen bei jeder Referenz auf das Objekt verwenden. Der Bezeichner kann alle druckbaren Standardzeichen von UTF -8 enthalten, mit Ausnahme des doppelten Anführungszeichens selbst. D. h. Sie können Spalten- oder Tabellennamen erstellen, die Zeichen enthalten, die sonst nicht zulässig wären, z. B. Leerzeichen oder das Prozentsymbol.

ASCIIBei Buchstaben in durch Trennzeichen getrennten Bezeichnern wird nicht zwischen Groß- und Kleinschreibung unterschieden. Sie können ein doppeltes Anführungszeichen in einer Zeichenfolge verwenden, indem Sie ein weiteres Anführungszeichen voranstellen.

Bezeichner mit Groß-/Kleinschreibung

Bezeichner mit Groß- und Kleinschreibung (auch als Bezeichner mit gemischter Groß-/Kleinschreibung bekannt) können sowohl Groß- als auch Kleinbuchstaben enthalten. Um Bezeichner mit Groß-/Kleinschreibung zu verwenden, können Sie die Konfiguration enable_case_sensitive_identifier auf true festlegen. Sie können diese Konfiguration für den Cluster oder für eine Sitzung festlegen. Weitere Informationen finden Sie unter Standardparameterwerte im Amazon-Redshift-Verwaltungshandbuch und unter enable_case_sensitive_identifier.

Systemspaltennamen

Die folgenden SQL Postgre-Systemspaltennamen können nicht als Spaltennamen in benutzerdefinierten Spalten verwendet werden. Weitere Informationen finden Sie unter. https://www.postgresql.org/docs/8.0/static/ddl-system-columns.html

  • oid

  • tableoid

  • xmin

  • cmin

  • xmax

  • cmax

  • ctid

Beispiele

Die folgende Tabelle enthält ein paar Beispiele für abgegrenzte Kennungen, die jeweils resultierende Ausgabe und eine Erklärung:

Syntax Ergebnis Erklärung
"Gruppe" Gruppe GROUPist ein reserviertes Wort, weshalb für seine Verwendung innerhalb eines Bezeichners doppelte Anführungszeichen erforderlich sind.
"""WHERE""" "where" WHEREist auch ein reserviertes Wort. Sie können Anführungszeichen in der Zeichenfolge verwenden, indem Sie jedem doppelte Anführungszeichen ein zusätzliches doppeltes Anführungszeichen als Escape-Zeichen voranstellen.
"This name" this name Falls Leerzeichen erhalten bleiben sollen, müssen doppelte Anführungszeichen verwendet werden.
"This ""IS IT""" this "is it" Den Anführungszeichen um IS IT muss jeweils ein eigenes Anführungszeichen vorangestellt werden, sodass sie als Bestandteil des Namens interpretiert werden.

So erstellen Sie eine Tabelle mit dem Namen „group” und mit einer Spalte mit dem Namen „this "is it"”:

create table "group" ( "This ""IS IT""" char(10));

Die folgenden Abfragen geben dasselbe Ergebnis zurück:

select "This ""IS IT""" from "group"; this "is it" -------------- (0 rows)
select "this ""is it""" from "group"; this "is it" -------------- (0 rows)

Die folgende vollständig qualifizierte table.column-Syntax gibt ebenfalls dasselbe Ergebnis zurück:

select "group"."this ""is it""" from "group"; this "is it" -------------- (0 rows)

Der folgende CREATE TABLE Befehl erstellt eine Tabelle mit einem Schrägstrich in einem Spaltennamen:

create table if not exists city_slash_id( "city/id" integer not null, state char(2) not null);