---
title: "表组管理命令 | OceanBase 文档中心"
description: "表组管理命令 本节内容主要介绍非分区表组管理命令。 本节主要介绍非分区表组的管理，分区表组的相关内容请参见 创建一级分区表表组 。 创建表组 SQL 语法如下： CREATE TABLEGROUP [IF NOT EXISTS] tablegroupname [opt_tablegroup_option_list] …"
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 3.2.3 企业版 LTS

# 表组管理命令

更新时间：2023-07-19 13:03:07

本节内容主要介绍非分区表组管理命令。

本节主要介绍非分区表组的管理，分区表组的相关内容请参见 [创建一级分区表表组](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000357056)。

## 创建表组

SQL 语法如下：

```sql
CREATE TABLEGROUP [IF NOT EXISTS] tablegroupname [opt_tablegroup_option_list]

opt_tablegroup_option_list:
tablegroup_option [tablegroup_option]

tablegroup_option:
LOCALITY [=] locality_name
| PRIMARY_ZONE [=] primary_zone_name

```

- `tablegroupname` 表组名称，最长 64 个字符，字符只能有大小写英文字母，数字和下划线，而且必须以字母或下划线开头，并且不能使用 OceanBase 的关键字。如果要创建的表组名称已存在，并且没有指定 IF NOT EXISTS，则会出现错误。
 - `opt_tablegroup_option_list` 表组的分区方式、Locality、Primary Zone 必须和组内的表完全一致。组内的表信息不能独立变更某一项，只可以通过操作表组进行批量操作。

创建表组 `grp1` 的示例如下：

```sql
obclient> CREATE TABLEGROUP grp1;

```

## 将表加入表组

将表 `t1` 加入表组 `grp1` 的示例如下：

```sql
obclient>  ALTER TABLE t1 SET TABLEGROUP grp1;

```

## 将表移出表组

将表 `t1` 移出表组的示例如下：

```sql
obclient> ALTER TABLE t1 SET TABLEGROUP '';

```

## 将表迁移到其他表组

将表 `t1`（原先在表组 `grp1` 中） 迁移进表组 `grp2` 的示例如下：

```sql
obclient> ALTER TABLE t1 SET TABLEGROUP grp2;

```

## 删除表组

下述为删除表组语句的语法，但是如果有任何表的 `TABLE GROUP` 属性引用了目标表组，则该表组不允许被删除。

SQL语法如下：

```sql
DROP TABLEGROUP [IF EXISTS] tablegroupname

```

- `tablegroupname` 表组名称。如果要删除的表组名称不存在，并且没有指定 `IF EXISTS`，则会出现错误。

将表组 grp1 删除示例如下：

```sql
obclient> DROP TABLEGROUP grp1;

```

删除表组之前可以通过如下命令查看表组中是否包含表。如果包含表，在删除表组之前需要先将表从表组中移出。

```sql
obclient> SHOW TABLEGROUPS;
+-----------------+-------------------------------+--------------------+
| Tablegroup_name | Table_name                    | Database_name      |
+-----------------+-------------------------------+--------------------+
| grp1            | t1                            | oceanbase          |
+-----------------+-------------------------------+--------------------+

```

## 修改表组的 Locality 和 Primary Zone

SQL语法如下:

```sql
ALTER TABLEGROUP tablegroupname alter_tablegroup_actions
alter_tablegroup_actions:
alter_tablegroup_action
| alter_tablegroup_action, alter_tablegroup_action
alter_tablegroup_action:
SET LOCALITY [=] locality_name
|SET PRIMARY_ZONE [=] primary_zone_name

```

- `modify_tg_partition_info` 修改表组的分区规则。
 - `LOCALITY locality_name` 指定表组的 locality。
 - `PRIMARY_ZONE primary_zone_name` 指定表组的主 Zone。

### 修改 Locality

将表组 grp1 中所有表的 Locality 都修改为 `F@z1,F@z3` 的示例如下：

```sql
obclient> ALTER TABLEGROUP grp1 SET locality = 'F@z1,F@z3';

```

### 修改 Primary Zone

将表组 grp1 中所有表的 Primary Zone 都修改为 `z1,z2` 的示例如下：

```sql
obclient> ALTER TABLEGROUP grp1 SET primary_zone = 'z1,z2';

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
