我可以编写一个程序来查看 YugaByte 的 YCQL (Cassandra) api 中是否存在 table 吗?
Can I write a program to see if a table exists in YugaByte's YCQL (Cassandra) api?
是否有编程方式来检查 YugaByte 的 YCQL (Cassandra) 中是否存在 table api?
例如,在 Postgres 中可以这样做:
How to check if a table exists in a given schema
SELECT EXISTS (
SELECT 1
FROM information_schema.tables
WHERE table_schema = 'schema_name'
AND table_name = 'table_name'
);
YCQL 中是否有等效项?
喜欢SELECT COUNT(*) FROM system_schema.tables WHERE keyspace_name = 'yourkeyspace' AND table_name = 'yourtable';
?至少适用于 Cassandra。计数不是必需的,您可以查看结果集是否有任何内容。如果你这样做是为了看看你是否应该创建 table 你可以 运行 带有 IF NOT EXISTS
子句的 create 语句,如果它已经存在,它将是一个 noop。
是的,您可以对 YugaByte DB 的 YCQL 执行相同的操作。这是一个示例,显示如何通过 cqlsh 检查键空间和 table 的存在。
设置:
cqlsh> CREATE KEYSPACE IF NOT EXISTS ksp;
cqlsh> CREATE TABLE IF NOT EXISTS ksp.t(k int PRIMARY KEY, v int);
检查键空间是否存在
cqlsh> select count(*) from system_schema.keyspaces
where keyspace_name = 'ksp';
count
-------
1
(1 rows)
cqlsh> select count(*) from system_schema.keyspaces
where keyspace_name = 'non-existent-ksp';
count
-------
0
(1 rows)
检查 table 是否存在
cqlsh> select count(*) from system_schema.tables
where keyspace_name = 'ksp' and table_name = 't';
count
-------
1
(1 rows)
cqlsh> select count(*) from system_schema.tables
where keyspace_name = 'ksp' and table_name = 'non-existent-t';
count
-------
0
(1 rows)
是否有编程方式来检查 YugaByte 的 YCQL (Cassandra) 中是否存在 table api?
例如,在 Postgres 中可以这样做:
How to check if a table exists in a given schema
SELECT EXISTS (
SELECT 1
FROM information_schema.tables
WHERE table_schema = 'schema_name'
AND table_name = 'table_name'
);
YCQL 中是否有等效项?
喜欢SELECT COUNT(*) FROM system_schema.tables WHERE keyspace_name = 'yourkeyspace' AND table_name = 'yourtable';
?至少适用于 Cassandra。计数不是必需的,您可以查看结果集是否有任何内容。如果你这样做是为了看看你是否应该创建 table 你可以 运行 带有 IF NOT EXISTS
子句的 create 语句,如果它已经存在,它将是一个 noop。
是的,您可以对 YugaByte DB 的 YCQL 执行相同的操作。这是一个示例,显示如何通过 cqlsh 检查键空间和 table 的存在。
设置:
cqlsh> CREATE KEYSPACE IF NOT EXISTS ksp;
cqlsh> CREATE TABLE IF NOT EXISTS ksp.t(k int PRIMARY KEY, v int);
检查键空间是否存在
cqlsh> select count(*) from system_schema.keyspaces
where keyspace_name = 'ksp';
count
-------
1
(1 rows)
cqlsh> select count(*) from system_schema.keyspaces
where keyspace_name = 'non-existent-ksp';
count
-------
0
(1 rows)
检查 table 是否存在
cqlsh> select count(*) from system_schema.tables
where keyspace_name = 'ksp' and table_name = 't';
count
-------
1
(1 rows)
cqlsh> select count(*) from system_schema.tables
where keyspace_name = 'ksp' and table_name = 'non-existent-t';
count
-------
0
(1 rows)