cassandra数据库中有许多表,其中包含名为user_id的列。user_id值引用到存储在表用户中的用户。由于一些用户被删除,我希望删除所有包含名为user_id的列的表中的孤立记录。
是否有方法使用CassandraSQLContext或任何其他内置方法或自定义过程列出所有表,以避免显式定义表列表?
发布于 2016-08-01 12:00:20
有一些系统表可以提供有关存储的键空间、表、列的信息。
在cqlsh控制台中尝试运行以下命令:
SELECT * FROM system.schema_keyspaces ;
SELECT columnfamily_name FROM system.schema_columnfamilies WHERE keyspace_name = 'keyspace name';
SELECT column_name, type, validator FROM system.schema_columns WHERE keyspace_name = 'keyspace name' AND columnfamily_name = 'table name';
自V5.0.x 文档以来
SELECT * FROM system_schema.keyspaces;
SELECT * FROM system_schema.tables WHERE keyspace_name = 'keyspace name';
SELECT * FROM system_schema.columns WHERE keyspace_name = 'keyspace_name' AND table_name = 'table_name';
自V6.0以来文档
SELECT * FROM system_schema.keyspaces
SELECT * FROM system_schema.tables WHERE keyspace_name = 'keyspace name';
SELECT * FROM system_schema.columns WHERE keyspace_name = 'keyspace_name' AND table_name = 'table_name';
发布于 2018-05-03 20:22:05
从cqlsh
执行describe tables;
发布于 2021-02-08 09:05:58
desc keyspaces; // list all databases/collections names
use anyKeyspace; // select any database
desc tables; // list all tables in collection/ database
https://stackoverflow.com/questions/38696316
复制相似问题