Перейти к основному содержимому

SHOW CREATE TABLE

Возвращает оператор CREATE TABLE, который использовался для создания указанной таблицы.

ПРИМЕЧАНИЕ

В версиях ранее v3.0 оператор SHOW CREATE TABLE требует наличия привилегии SELECT_PRIV на таблицу. Начиная с v3.0, оператор SHOW CREATE TABLE требует наличия привилегии SELECT на таблицу.

Начиная с v3.0, вы можете использовать оператор SHOW CREATE TABLE для просмотра операторов CREATE TABLE таблиц, которые управляются external catalog и хранятся в Apache Hive™, Apache Iceberg, Apache Hudi или Delta Lake.

Начиная с v2.5.7, Selena может автоматически устанавливать количество сегментов (BUCKETS) при создании таблицы или добавлении раздела. Вам больше не нужно вручную устанавливать количество сегментов. Подробную информацию см. в разделе установка количества сегментов.

  • Если вы указали количество сегментов при создании таблицы, вывод SHOW CREATE TABLE отобразит количество сегментов.
  • Если вы не указали количество сегментов при создании таблицы, вывод SHOW CREATE TABLE не отобразит количество сегментов. Вы можете выполнить SHOW PARTITIONS для просмотра количества сегментов для каждого раздела.

В версиях ранее v2.5.7 требовалось устанавливать количество сегментов при создании таблицы. Поэтому SHOW CREATE TABLE отображает количество сегментов по умолчанию.

Синтаксис

SHOW CREATE TABLE [db_name.]table_name

Параметры

ПараметрОбязательныйОписание
db_nameНетИмя базы данных. Если этот параметр не указан, по умолчанию возвращается оператор CREATE TABLE для указанной таблицы в вашей текущей базе данных.
table_nameДаИмя таблицы.

Вывод

+-----------+----------------+
| Table | Create Table |
+-----------+----------------+

В следующей таблице описаны параметры, возвращаемые этим оператором.

ПараметрОписание
TableИмя таблицы.
Create TableОператор CREATE TABLE для таблицы.

Примеры

Количество сегментов не указано

Создайте таблицу с именем example_table без указания количества сегментов в DISTRIBUTED BY.

CREATE TABLE example_table
(
k1 TINYINT,
k2 DECIMAL(10, 2) DEFAULT "10.5",
v1 CHAR(10) REPLACE,
v2 INT SUM
)
ENGINE = olap
AGGREGATE KEY(k1, k2)
COMMENT "my first starrocks table"
DISTRIBUTED BY HASH(k1);

Выполните SHOW CREATE TABLE для отображения оператора CREATE TABLE для example_table. Количество сегментов не отображается в DISTRIBUTED BY. Обратите внимание, что если вы не указали PROPERTIES при создании таблицы, в выводе SHOW CREATE TABLE отображаются свойства по умолчанию.

SHOW CREATE TABLE example_table\G
*************************** 1. row ***************************
Table: example_table
Create Table: CREATE TABLE `example_table` (
`k1` tinyint(4) NULL COMMENT "",
`k2` decimal64(10, 2) NULL DEFAULT "10.5" COMMENT "",
`v1` char(10) REPLACE NULL COMMENT "",
`v2` int(11) SUM NULL COMMENT ""
) ENGINE=OLAP
AGGREGATE KEY(`k1`, `k2`)
COMMENT "my first starrocks table"
DISTRIBUTED BY HASH(`k1`)
PROPERTIES (
"replication_num" = "3",
"in_memory" = "false",
"enable_persistent_index" = "false",
"replicated_storage" = "true",
"compression" = "LZ4"
);

Количество сегментов указано

Создайте таблицу с именем example_table1 с количеством сегментов, установленным на 10 в DISTRIBUTED BY.

CREATE TABLE example_table1
(
k1 TINYINT,
k2 DECIMAL(10, 2) DEFAULT "10.5",
v1 CHAR(10) REPLACE,
v2 INT SUM
)
ENGINE = olap
AGGREGATE KEY(k1, k2)
COMMENT "my first starrocks table"
DISTRIBUTED BY HASH(k1) BUCKETS 10;

Выполните SHOW CREATE TABLE для отображения оператора CREATE TABLE для example_table. Количество сегментов (BUCKETS 10) отображается в DISTRIBUTED BY. Обратите внимание, что если вы не указали PROPERTIES при создании таблицы, в выводе SHOW CREATE TABLE отображаются свойства по умолчанию.

SHOW CREATE TABLE example_table1\G
*************************** 1. row ***************************
Table: example_table1
Create Table: CREATE TABLE `example_table1` (
`k1` tinyint(4) NULL COMMENT "",
`k2` decimal64(10, 2) NULL DEFAULT "10.5" COMMENT "",
`v1` char(10) REPLACE NULL COMMENT "",
`v2` int(11) SUM NULL COMMENT ""
) ENGINE=OLAP
AGGREGATE KEY(`k1`, `k2`)
COMMENT "my first starrocks table"
DISTRIBUTED BY HASH(`k1`) BUCKETS 10
PROPERTIES (
"replication_num" = "3",
"in_memory" = "false",
"enable_persistent_index" = "false",
"replicated_storage" = "true",
"compression" = "LZ4"
);

Ссылки