---
title: "CREATE TABLEGROUP - OceanBase 数据库 V4.1.0 | OceanBase 文档中心"
description: CREATE TABLEGROUP 描述 该语句用来创建表组。 表组主要用于创建一组具有相同分布特征的表，具有相同分布特征的表在进行连接操作时，可以在本地进行，避免跨节点的数据请求。 创建表组时，首先要规划好表组的用途。如果是用于普通表的属性，表组就不用分区；如果是用于分区表的属性，表组就要指定分区策略，并且要跟分区…
---
切换语言

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

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

# CREATE TABLEGROUP

更新时间：2023-07-28 10:45:58

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.1.0/zh-CN/700.reference/400.development-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/600.sql-statement-of-mysql-mode/2700.create-tablegroup-of-mysql-mode.md)  

## 描述

该语句用来创建表组。

表组主要用于创建一组具有相同分布特征的表，具有相同分布特征的表在进行连接操作时，可以在本地进行，避免跨节点的数据请求。

创建表组时，首先要规划好表组的用途。如果是用于普通表的属性，表组就不用分区；如果是用于分区表的属性，表组就要指定分区策略，并且要跟分区表的分区策略保持一致。

## 语法

```sql
CREATE TABLEGROUP [IF NOT EXISTS] tablegroup_name [PARTITION BY opt_tg_partition_option]

opt_tg_partition_option:

     KEY column_num  PARTITIONS INTNUM
   | HASH PARTITIONS INTNUM
   | RANGE {PARTITION partition_name VALUES LESS THAN range_partition_expr, ...}
   | RANGE COLUMNS column_num {PARTITION partition_name VALUES LESS THAN range_partition_expr, ...}
   | LIST {PARTITION partition_name VALUES IN list_partition_expr, ...}
   | LIST COLUMNS column_num {PARTITION partition_name VALUES IN list_partition_expr, ...}

```

## 参数解释

| **参数** | **描述** |
| --- | --- |
| tablegroup_name | 表组名称，最长 64 个字符，字符只能有大小写英文字母，数字和下划线，而且必须以字母或下划线开头，并且不能使用 OceanBase 数据库的关键字。 如果要创建的表组名称已存在，并且没有指定 `IF NOT EXISTS`，则会出现错误。 |
| opt_tg_partition_option | 表组的分区规则定义，与 `CREATE TABLE` 使用同样的分区方式。 表组没有具体的列定义，所以 `KEY`、`RANGE COLUMNS`、`LIST COLUMNS` 不需要写出具体的列，只需要指定列个数（`COLUMN_NUM`）。 |

## 示例

- 创建名为 `myTableGroup1` 的表组。

  ```sql
  obclient> CREATE TABLEGROUP myTableGroup1;
  Query OK, 0 rows affected

  obclient> CREATE TABLE myt1 (c1 int, c2 int ) TABLEGROUP = myTableGroup1;
  Query OK, 0 rows affected

  obclient> CREATE TABLE myt2 (c1 int, c2 int ) TABLEGROUP = myTableGroup1;
  Query OK, 0 rows affected

  ```
 - 创建 `HASH` 分区的表组 `tgh`，同时创建 `HASH` 分区的表，其中 `ttgh` 与 `ttgh2` 且分区个数相同，`ttgh3` 且分区个数不相同，发生报错。

  ```sql
  obclient> CREATE TABLEGROUP tgh PARTITION BY HASH PARTITIONS 10;
  Query OK, 0 rows affected

  obclient> CREATE TABLE ttgh(c1 INT, c2 INT) TABLEGROUP = tgh PARTITION BY HASH(c1) PARTITIONS 10;
  Query OK, 0 rows affected

  obclient> CREATE TABLE ttgh2(c1 INT, c2 INT) TABLEGROUP = tgh PARTITION BY HASH(c1) PARTITIONS 10;
  Query OK, 0 rows affected

  obclient> CREATE TABLE ttgh3(c1 INT, c2 INT) TABLEGROUP = tgh PARTITION BY HASH(c1) PARTITIONS 5;
  ErrorCode = 4179, SQLState = HY000, Details = range partition number not match not allowed

  ```
 - 创建 Range 分区的表组。

  ```sql
  obclient> CREATE TABLEGROUP tblgroup1 PARTITION BY RANGE
              ( PARTITION p0 VALUES LESS THAN(100),
                PARTITION p1 VALUES LESS THAN(200)
               );
  Query OK, 0 rows affected

  ```
 - 创建 Range Columns 分区的表组。

  ```sql
  obclient> CREATE TABLEGROUP tblgroup2 PARTITION BY RANGE COLUMNS 1
              ( PARTITION p0 VALUES LESS THAN(100),
                PARTITION p1 VALUES LESS THAN(200)
               );
  Query OK, 0 rows affected

  ```
 - 创建 List 分区的表组。

  ```sql
  obclient> CREATE TABLEGROUP tblgroup3 PARTITION BY LIST
              ( PARTITION p_northwest VALUES IN(100),
                PARTITION p_southwest VALUES IN(200)
              );
  Query OK, 0 rows affected

  ```
 - 创建 List Columns 分区的表组。

  ```sql
  obclient> CREATE TABLEGROUP tblgroup4 PARTITION BY LIST COLUMNS 1
              ( PARTITION p_northwest VALUES IN('OR', 'WA'),
                PARTITION p_southwest VALUES IN('AZ', 'UT', 'NM')
              );
  Query OK, 0 rows affected

  ```
 - 创建 Hash 分区的表组。

  ```sql
  obclient> CREATE TABLEGROUP tblgroup5 PARTITION BY HASH PARTITIONS 10;
  Query OK, 0 rows affected

  ```
 - 创建 Key 分区的表组。

  ```sql
  obclient> CREATE TABLEGROUP tblgroup6 PARTITION BY KEY 1 PARTITIONS 10;
  Query OK, 0 rows affected

  ```

 上一篇 下一篇 ![有帮助](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) 咨询热线
