テーブル作成後は、SQLステートメントやビューを使用してデータベース内のすべてのテーブルを確認したり、特定のテーブルの定義や構造などを確認できます。
データベース内のテーブルの確認
テーブル作成後、SHOW TABLES ステートメントを使用してデータベース内のすべてのテーブルを確認できます。ステートメントは以下のとおりです:
SHOW [EXTENDED] [FULL] TABLES [{FROM | IN} database_name];
ステートメント内のパラメータについては以下のとおりです:
EXTENDED:隠れたテーブルを表示します。OceanBaseデータベースの現在のバージョンでは隠れたテーブルは生成されないため、このパラメータに実質的な効果はありません。FULL:テーブルタイプを表示します。database_name:クエリ対象のデータベース。
データベース test 内のすべてのテーブルを確認する例は以下のとおりです:
SHOW TABLES FROM test;
クエリ結果は次のとおりです:
+----------------+
| Tables_in_test |
+----------------+
| t1 |
+----------------+
1 row in set
SHOW TABLES ステートメントの詳細については、SHOWを参照してください。
テーブルの定義を確認する
テーブル作成後、SHOW CREATE TABLE ステートメントを使用してテーブルの定義を確認できます。
例:
テーブル tbl1 の定義を確認します。
SHOW CREATE TABLE tbl1;
クエリ結果は次のとおりです:
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tbl1 | CREATE TABLE `tbl1` (
`col1` int(11) NOT NULL,
`col2` int(11) NOT NULL,
`col3` int(11) DEFAULT NULL,
PRIMARY KEY (`col1`)
) ORGANIZATION INDEX DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = 'zstd_1.3.8' REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE ENABLE_MACRO_BLOCK_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set
一部のフィールドの説明は以下のとおりです:
ORGANIZATION INDEX:テーブルの組織モードがINDEXであることを示します。DEFAULT CHARSET = utf8mb4:デフォルトの文字セットをutf8mb4に指定します。ROW_FORMAT = DYNAMIC:データエンコードを有効にすることを示します。COMPRESSION:テーブルの圧縮方式です。PCTFREE:ブロックデータの更新のために予約される使用空間を示します。
テーブル構造の確認
テーブル作成後、SHOW COLUMNS/FIELDS ステートメントを使用してテーブル構造を確認できます。ステートメントは以下のとおりです:
SHOW [EXTENDED] [FULL] {COLUMNS | FIELDS}
{FROM | IN} table_name
[{FROM | IN} database_name];
ステートメント内のパラメータについては、以下のとおりです:
EXTENDED:隠れた列を表示します。FULL:列の照合順序、権限、コメントを表示します。table_name:クエリ対象のテーブル名です。database_name:クエリ対象のテーブルが属するデータベース名です。
例:
テーブル
testの構造を確認します。obclient [test]> SHOW COLUMNS FROM test;クエリ結果は次のとおりです:
+-------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | char(50) | YES | | NULL | | +-------+----------+------+-----+---------+-------+ 2 rows in setテーブル
testのすべての列(隠れた列を含む)を確認します。obclient [test]> SHOW EXTENDED COLUMNS FROM test;クエリ結果は次のとおりです:
+----------------+-----------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------+-----------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | char(50) | YES | | NULL | | | __pk_increment | bigint unsigned | NO | PRI | NULL | | +----------------+-----------------+------+-----+---------+-------+ 3 rows in set
SHOW COLUMNS/FIELDS ステートメントの詳細については、SHOWを参照してください。
ビューを使用してテーブル情報を確認する
システムビューを使用して、テーブルの関連情報を確認できます。
ビュー名 |
機能の説明 |
|---|---|
| information_schema.TABLES | テーブルの情報を表示します。 |
| oceanbase.CDB_TABLES | すべてのテナント配下のテーブル情報を表示します。 |
例:
SELECT * FROM information_schema.tables WHERE table_name = 'ora_tbl1'\G
実行結果は次のとおりです:
*************************** 1. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: test
TABLE_NAME: ora_tbl1
TABLE_TYPE: BASE TABLE
ENGINE: InnoDB
VERSION: NULL
ROW_FORMAT: DYNAMIC
TABLE_ROWS: 0
AVG_ROW_LENGTH: 0
DATA_LENGTH: 0
MAX_DATA_LENGTH: NULL
INDEX_LENGTH: 0
DATA_FREE: NULL
AUTO_INCREMENT: NULL
CREATE_TIME: 2025-02-24 15:17:13
UPDATE_TIME: 2025-02-24 15:17:13
CHECK_TIME: NULL
TABLE_COLLATION: utf8mb4_general_ci
CHECKSUM: NULL
CREATE_OPTIONS: NULL
TABLE_COMMENT:
AUTO_SPLIT: FALSE
AUTO_SPLIT_TABLET_SIZE: 0
ORGANIZATION: HEAP
1 row in set