首批通过分布式安全可靠测评,为关键业务系统打造
查看表
更新时间:2026-07-15 20:42:47
表创建成功后,您可以通过 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 语句查看表的定义。
查看表 test 的定义的示例如下:
obclient [test]> SHOW CREATE TABLE test;
结果如下:
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test | CREATE TABLE `test` (
`id` int(11) DEFAULT NULL,
`name` char(50) DEFAULT NULL
) DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = 'zstd_1.3.8' REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set
部分字段说明如下:
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。
检查表
可以使用 CHECK TABLE 语句检查数据库中的表是否存在。
有关 CHECK TABLE 语句的详细信息,参见 CHECK TABLE。
示例如下:
当表
tbl1不存在时,查看检查表tbl1的返回信息。obclient [test]> CHECK TABLE tbl1;返回结果如下:
+-----------+-------+----------+---------------------------------+ | Table | Op | Msg_type | Msg_text | +-----------+-------+----------+---------------------------------+ | test.tbl1 | check | Error | Table 'test.tbl1' doesn't exist | | test.tbl1 | check | status | Operation failed | +-----------+-------+----------+---------------------------------+ 2 rows in set创建表
tbl1。obclient [test]> CREATE TABLE tbl1(col1 INT, col2 VARCHAR(18));再次检查表
tbl1,查看返回信息。obclient [test]> CHECK TABLE tbl1;返回结果如下:
+-----------+-------+----------+----------+ | Table | Op | Msg_type | Msg_text | +-----------+-------+----------+----------+ | test.tbl1 | check | status | OK | +-----------+-------+----------+----------+ 1 row in set