Elemente der Cassandra Query Language (CQL) in Amazon Keyspaces - Amazon Keyspaces (für Apache Cassandra)

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.

Elemente der Cassandra Query Language (CQL) in Amazon Keyspaces

Erfahren Sie mehr über die Cassandra Query Language (CQL) -Elemente, die von Amazon Keyspaces unterstützt werden, darunter Bezeichner, Konstanten, Begriffe und Datentypen.

IDs

Identifikatoren (oder Namen) werden verwendet, um Tabellen, Spalten und andere Objekte zu identifizieren. Ein Bezeichner kann in Anführungszeichen gesetzt werden oder nicht. Folgendes gilt.

identifier ::= unquoted_identifier | quoted_identifier unquoted_identifier ::= re('[a-zA-Z][a-zA-Z0-9_]*') quoted_identifier ::= '"' (any character where " can appear if doubled)+ '"'

Konstanten

Die folgenden Konstanten sind definiert.

constant ::= string | integer | float | boolean | uuid | blob | NULL string ::= '\'' (any character where ' can appear if doubled)+ '\'' '$$' (any character other than '$$') '$$' integer ::= re('-?[0-9]+') float ::= re('-?[0-9]+(\.[0-9]*)?([eE][+-]?[0-9+])?') | NAN | INFINITY boolean ::= TRUE | FALSE uuid ::= hex{8}-hex{4}-hex{4}-hex{4}-hex{12} hex ::= re("[0-9a-fA-F]") blob ::= '0' ('x' | 'X') hex+

Bedingungen

Ein Begriff bezeichnet die Art von Werten, die unterstützt werden. Begriffe werden wie folgt definiert.

term ::= constant | literal | function_call | arithmetic_operation | type_hint | bind_marker literal ::= collection_literal | tuple_literal function_call ::= identifier '(' [ term (',' term)* ] ')' arithmetic_operation ::= '-' term | term ('+' | '-' | '*' | '/' | '%') term

Datentypen

Amazon Keyspaces unterstützt die folgenden Datentypen:

Zeichenfolgen-Typen

Datentyp Beschreibung

ascii

Stellt eine ASCII Zeichenfolge dar.

text

Stellt eine mit UTF -8 kodierte Zeichenfolge dar.

varchar

Stellt eine mit UTF -8 kodierte Zeichenfolge dar (varcharist ein Alias für). text

Numerische Typen

Datentyp Beschreibung

bigint

Stellt einen 64-Bit-Wert vom Typ Long mit Vorzeichen dar.

counter

Stellt einen 64-Bit-Integer-Zähler mit Vorzeichen dar. Weitere Informationen finden Sie unter Zähler.

decimal

Stellt eine Dezimalzahl mit variabler Genauigkeit dar.

double

Stellt einen 64-Bit-Gleitkommawert von IEEE 754 dar.

float

Stellt eine 32-Bit-Gleitkommazahl vom Typ IEEE 754 dar.

int

Stellt einen 32-Bit-Int-Wert mit Vorzeichen dar.

varint

Stellt eine Ganzzahl mit beliebiger Genauigkeit dar.

Zähler

Eine counter Spalte enthält eine 64-Bit-Ganzzahl mit Vorzeichen. Der Zählerwert wird mithilfe der UPDATE Anweisung erhöht oder verringert und kann nicht direkt festgelegt werden. Das macht counter Spalten nützlich, um Zählungen nachzuverfolgen. Mithilfe von Zählern können Sie beispielsweise die Anzahl der Einträge in einer Protokolldatei oder die Anzahl der Aufrufe eines Beitrags in einem sozialen Netzwerk verfolgen. Für counter Spalten gelten die folgenden Einschränkungen:

  • Eine Spalte vom Typ counter kann nicht Teil primary key einer Tabelle sein.

  • In einer Tabelle, die eine oder mehrere Spalten des Typs enthältcounter, müssen alle Spalten in dieser Tabelle vom Typ seincounter.

In Fällen, in denen eine Zähleraktualisierung fehlschlägt (z. B. aufgrund von Timeouts oder Verbindungsverlust mit Amazon Keyspaces), weiß der Client nicht, ob der Zählerwert aktualisiert wurde. Wenn die Aktualisierung erneut versucht wird, wird die Aktualisierung des Zählerwerts möglicherweise ein zweites Mal angewendet.

Blob-Typ

Datentyp Beschreibung

blob

Stellt beliebige Byte dar.

Typ BOOLEAN

Datentyp Beschreibung

boolean

Steht für true oderfalse.

Zeitbezogene Typen

Datentyp Beschreibung

timestamp

64-Bit-Ganzzahl mit Vorzeichen, die Datum und Uhrzeit seit der Epoche (1. Januar 1970 um 00:00:00 UhrGMT) in Millisekunden angibt.

timeuuid

Stellt eine Version 1 dar. UUID

Sammlungstypen

Datentyp Beschreibung

list

Stellt eine geordnete Sammlung literaler Elemente dar.

map

Stellt eine ungeordnete Sammlung von Schlüssel-Wert-Paaren dar.

set

Stellt eine ungeordnete Sammlung von einem oder mehreren literalen Elementen dar.

Sie deklarieren eine Auflistungsspalte, indem Sie den Sammlungstyp verwenden, gefolgt von einem anderen Datentyp (z. B. TEXT oderINT) in spitzen Klammern. Sie können eine Spalte mit einem SET of erstellenTEXT, oder Sie können Paare aus MAP of TEXT und INT Schlüssel-Wert-Paaren erstellen, wie im folgenden Beispiel gezeigt.

SET <TEXT> MAP <TEXT, INT>

Eine nicht eingefrorene Sammlung ermöglicht es Ihnen, Aktualisierungen an jedem einzelnen Sammlungselement vorzunehmen. Clientseitige Zeitstempel und Time to Live (TTL) -Einstellungen werden für einzelne Elemente gespeichert.

Wenn Sie das FROZEN Schlüsselwort für einen Sammlungstyp verwenden, werden die Werte der Sammlung zu einem einzigen unveränderlichen Wert serialisiert, und Amazon Keyspaces behandelt sie wie einen. BLOB Dies ist eine eingefrorene Sammlung. Eine INSERT UPDATE Oder-Anweisung überschreibt die gesamte eingefrorene Sammlung. Sie können einzelne Elemente in einer eingefrorenen Sammlung nicht aktualisieren.

Clientseitige Zeitstempel und Einstellungen für die Gültigkeitsdauer (TTL) gelten für die gesamte eingefrorene Sammlung, nicht für einzelne Elemente. FrozenSammlungsspalten können Teil einer Tabelle seinPRIMARY KEY.

Sie können eingefrorene Sammlungen verschachteln. Sie können beispielsweise MAP innerhalb von a definieren, SET wenn der MAP das FROZEN Schlüsselwort verwendet, wie im folgenden Beispiel gezeigt.

SET <FROZEN> <MAP <TEXT, INT>>>

Amazon Keyspaces unterstützt standardmäßig die Verschachtelung von bis zu fünf Ebenen eingefrorener Sammlungen. Weitere Informationen finden Sie unter Amazon Keyspaces-Servicekontingente. Weitere Informationen zu den funktionalen Unterschieden mit Apache Cassandra finden Sie unter. FROZENSammlungen Weitere Hinweise zur CQL Syntax finden Sie unter CREATE TABLE undALTER TABLE.

Typ „Tupel“

Der tuple Datentyp steht für eine begrenzte Gruppe literaler Elemente. Sie können ein Tupel als Alternative zu einem verwenden. user defined type Sie müssen das FROZEN Schlüsselwort nicht für Tupel verwenden. Das liegt daran, dass ein Tupel immer eingefroren ist und Sie Elemente nicht einzeln aktualisieren können.

Andere Typen

Datentyp Beschreibung

inet

Eine Zeichenfolge, die eine IP-Adresse darstellt, IPv4 entweder im IPv6 Oder-Format.

Statisch

In einer Amazon Keyspaces-Tabelle mit Clusterspalten können Sie das STATIC Schlüsselwort verwenden, um eine statische Spalte beliebigen Typs zu erstellen.

Die folgende Aussage ist ein Beispiel dafür.

my_column INT STATIC

Weitere Hinweise zum Arbeiten mit statischen Spalten finden Sie unterSchätzen Sie den Kapazitätsverbrauch für statische Spalten in Amazon Keyspaces.

JSONKodierung von Amazon Keyspaces-Datentypen

Amazon Keyspaces bietet dieselben JSON Datentypzuordnungen wie Apache Cassandra. In der folgenden Tabelle werden die Datentypen beschrieben, die Amazon Keyspaces in INSERT JSON Anweisungen akzeptiert, und die Datentypen, die Amazon Keyspaces bei der Rückgabe von Daten mit der SELECT JSON Anweisung verwendet.

Für Einzelfeld-Datentypen wiefloat, int UUIDdate, und können Sie Daten auch als einfügen. string Für zusammengesetzte Datentypen und Sammlungen, wietuple, und maplist, können Sie Daten auch kodiert JSON oder als kodierte JSON string Daten einfügen.

JSONDatentyp In INSERT JSON Kontoauszügen akzeptierte Datentypen In SELECT JSON Anweisungen zurückgegebene Datentypen Hinweise

ascii

string string

Verwendet die JSON \u Zeichen-Escape-Taste.

bigint

integer, string integer

Die Zeichenfolge muss eine gültige 64-Bit-Ganzzahl sein.

blob

string string

Die Zeichenfolge sollte mit beginnen, 0x gefolgt von einer geraden Anzahl von Hex-Ziffern.

boolean

boolean, string boolean

Die Zeichenfolge muss entweder true oder seinfalse.

date

string string

Datum im FormatYYYY-MM-DD, ZeitzoneUTC.

decimal

integer, float, string float

Kann im clientseitigen Decoder eine Gleitkomma-Präzision von IEEE -754 von 32 Bit oder 64 Bit überschreiten.

double

integer, float, string float

Die Zeichenfolge muss eine gültige Ganzzahl oder eine Fließkommazahl sein.

float

integer, float, string float

Die Zeichenfolge muss eine gültige Ganzzahl oder eine Fließkommazahl sein.

inet

string string

IPv4oder IPv6 Adresse.

int

integer, string integer

Die Zeichenfolge muss eine gültige 32-Bit-Ganzzahl sein.

list

list, string list

Verwendet die systemeigene JSON Listendarstellung.

map

map, string map

Verwendet die native JSON Kartendarstellung.

smallint

integer, string integer

Die Zeichenfolge muss eine gültige 16-Bit-Ganzzahl sein.

set

list, string list

Verwendet die systemeigene JSON Listendarstellung.

text

string string

Verwendet die JSON \u Zeichen-Escape-Taste.

time

string string

Uhrzeit im FormatHH-MM-SS[.fffffffff].

timestamp

integer, string string

Ein Zeitstempel. Zeichenkettenkonstanten ermöglichen es Ihnen, Zeitstempel als Datumsangaben zu speichern. Datumsstempel mit Format YYYY-MM-DD HH:MM:SS.SSS werden zurückgegeben.

timeuuid

string string

Geben Sie 1 einUUID. Das UUID Format constants finden Sie unter.

tinyint

integer, string integer

Die Zeichenfolge muss eine gültige 8-Bit-Ganzzahl sein.

tuple

list, string list

Verwendet die systemeigene JSON Listendarstellung.

uuid

string string

Das UUID Format constants finden Sie unter.

varchar

string string

Verwendet die JSON \u Zeichen-Escape-Taste.

varint

integer, string integer

Variable Länge; kann 32-Bit- oder 64-Bit-Ganzzahlen im clientseitigen Decoder überlaufen.