メインコンテンツまでスキップ

SHOW CREATE TABLE

SHOW CREATE TABLE

指定したテーブルを作成するために使用されたCREATE TABLEステートメントを返します。

NOTE

v3.0以前のバージョンでは、SHOW CREATE TABLEステートメントを実行するにはテーブルに対してSELECT_PRIV権限が必要でした。v3.0以降、SHOW CREATE TABLEステートメントを実行するにはテーブルに対してSELECT権限が必要です。

v3.0以降、SHOW CREATE TABLEステートメントを使用して、外部カタログで管理され、Apache Hive™、Apache Iceberg、Apache Hudi、またはDelta Lakeに保存されているテーブルのCREATE TABLEステートメントを表示することができます。

v2.5.7以降、StarRocksはテーブルまたはパーティションを作成する際にバケット数(BUCKETS)を自動的に設定できます。バケット数を手動で設定する必要はありません。詳細な情報については、バケット数の決定を参照してください。

  • テーブルを作成する際にバケット数を指定した場合、SHOW CREATE TABLEの出力にはバケット数が表示されます。
  • テーブルを作成する際にバケット数を指定しなかった場合、SHOW CREATE TABLEの出力にはバケット数が表示されません。各パーティションのバケット数を表示するには、SHOW PARTITIONSを実行できます。

v2.5.7以前のバージョンでは、テーブルを作成する際にバケット数を設定する必要がありました。そのため、SHOW CREATE TABLEはデフォルトでバケット数を表示します。

構文

SHOW CREATE TABLE [データベース名.]テーブル名

パラメータ

パラメータ

必須

説明

データベース名

任意

データベース名を指定します。このパラメータを指定しない場合、デフォルトで現在のデータベースの指定したテーブルのCREATE TABLEステートメントが返されます。

テーブル名

必須

テーブル名を指定します。

出力

+-----------+----------------+
| テーブル | Create Table |
+-----------+----------------+

このステートメントによって返されるパラメータについては、以下の表に説明があります。

パラメータ

説明

テーブル

テーブル名

Create Table

テーブルのCREATE TABLEステートメント

バケット数が指定されていない場合

DISTRIBUTED BYでバケット数が指定されていないexample_tableという名前のテーブルを作成します。

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を実行してexample_tableのCREATE TABLEステートメントを表示します。DISTRIBUTED BYにはバケット数が表示されません。また、テーブルの作成時にPROPERTIESを指定しなかった場合、SHOW CREATE TABLEの出力にはデフォルトのプロパティが表示されます。

SHOW CREATE TABLE example_table\G
*************************** 1. row ***************************
テーブル: 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"
);

バケット数が指定されている場合

DISTRIBUTED BYでバケット数を10に設定したexample_table1という名前のテーブルを作成します。

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を実行してexample_tableのCREATE TABLEステートメントを表示します。DISTRIBUTED BYにバケット数(BUCKETS 10)が表示されます。また、テーブルの作成時にPROPERTIESを指定しなかった場合、SHOW CREATE TABLEの出力にはデフォルトのプロパティが表示されます。

SHOW CREATE TABLE example_table1\G
*************************** 1. row ***************************
テーブル: 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"
);

参考情報