2013-04-17 4 views

Antwort

8

könnten Sie die system Schlüsselraum, dies zu tun:

SELECT column_name FROM system.schema_columnfamilies 
    WHERE keyspace_name = 'testks' AND columnfamily_name = 'testcf'; 

Ausgabe in cqlsh (mit cql3): für

column_name 
------------- 
    password 

Sie arbeiten können, den Schlüssel die Säule unter Verwendung von:

SELECT key_aliases FROM system.schema_columnfamilies WHERE keyspace_name='testks' 
AND columnfamily_name='testcf'; 

Output:

key_aliases 
-------------- 
["username"] 
+0

Vielen Dank, das war wirklich hilfreich! – user2090879

+0

@Lyuben Kann ich einen Bereich für Spaltennamen ähnlich dem Slice der Spalte erstellen? ZB Spaltennamen zwischen zwei Datumsangaben erhalten, wenn Datum der Spaltenname ist – Peter

9

Wenn Sie Spaltennamen einer bestimmten Tabelle erhalten möchten mit CQL3 dann denke ich versuche, dieses

select * from system.schema_columns WHERE keyspace_name='#KS' AND columnfamily_name='#CF' allow filtering;

Hinweis: keyspace_name in der where-Klausel ist optional . Es wird hauptsächlich für bessere Filterzwecke verwendet (z. B. Tabelle mit demselben Namen in mehreren Schlüsselbereichen)

+0

Vielen Dank! Eigentlich wusste ich nicht, Hexe Antwort zu validieren beide waren korrekt und hilfreich, nochmals danke;) – user2090879

+0

Eigentlich funktioniert das für Cassandra 2, CQL3 aber nicht die oben genannten, um alle Spaltennamen zu bekommen ... –

+0

Ändern Sie * zu column_name und Sie ' Ich werde nur den Namen aller Spalten in der Spaltenfamilie bekommen –

3

Von meinem letzten Test sollten wir schema_columns, anstatt schema_columnfamilies verwenden, um alle Spaltennamen zu erhalten. schema_columnfamilies könnte zum Abrufen von Tabellennamen verwendet werden.

  1. Get Spaltennamen:

    SELECT column_name FROM system.schema_columns WHERE keyspace_name = 'KeySpaceName' AND columnfamily_name = 'TableName'; 
    
  2. Erhalten Spalte Familiennamen, das heißt, Tabellennamen:

    select columnfamily_name from system.schema_columnfamilies where keyspace_name='KeySpaceName'; 
    
Verwandte Themen