テーブルの作成が完了すると、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 | すべてのテナントのテーブル情報を表示します。 |
説明
OceanBaseデータベースV4.3.5では、ビューinformation_schema.TABLESとoceanbase.CDB_TABLESは、V4.3.5 BP1バージョンからテーブルの組織化パターンを確認できるようになりました。
例:
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