---
title: "CREATE TABLEGROUP - OceanBase 数据库 V4.1.0 | OceanBase 文档中心"
description: "CREATE TABLEGROUP 描述 该语句用来创建表组。 语法 CREATE TABLEGROUP tablegroup_name [ PARTITION BY opt_tg_partition_option ] opt_tg_partition_option: HASH [column_num] PARTIT…"
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 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/300.common-tenant-of-oracle-mode/900.sql-statement-of-oracle-mode/100.ddl-of-oracle-mode/2500.create-tablegroup-of-oracle-mode.md)  

## 描述

该语句用来创建表组。

## 语法

```sql
CREATE TABLEGROUP  tablegroup_name [ PARTITION BY opt_tg_partition_option ]

opt_tg_partition_option:

      HASH [column_num] PARTITIONS int_num
    | RANGE COLUMNS column_num {PARTITION partition_name VALUES LESS THAN range_partition_expr [, PARTITION partition_name VALUES LESS THAN range_partition_expr]...}
    | LIST COLUMNS column_num {PARTITION partition_name VALUES list_partition_expr [, PARTITION partition_name VALUES list_partition_expr]...}

```

## 参数解释

| 参数 | 描述 |
| --- | --- |
| tablegroup_name | 表组名称，最长 64 个字符，字符只能有大小写英文字母，数字和下划线，而且必须以字母或下划线开头，并且不能使用数据库的关键字。 |
| opt_tg_partition_option | 表组的分区规则定义，与 `CREATE TABLE` 使用同样的分区方式。 表组没有具体的列定义，所以 `HASH`、`RANGE` 和`LIST` 不需要写出具体的列，只需要指定列个数（`COLUMN_NUM`）。 相同的分区方式：   - 分区类型相同（例如，都是 Hash+Range 分区）。 - 如果是 Hash 分区，要求引用的列数相同，并且分区个数相同。 - 如果是 Range 分区，要求引用的列数相同，并且分区数相同，Range 分割点相同。 对于二级分区，根据其分区类型，要求和上述一致。 |

## 示例

- 创建名为 `tblgroup1` 的表组，同时创建表的 `TABLEGROUP` 属性是 `tblgroup1` 的表 `tbl1` 和 `tbl2`。

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

  obclient> CREATE TABLE tbl1 (col1 int, col2 int ) tablegroup = tblgroup1;
  Query OK, 0 rows affected

  obclient> CREATE TABLE tbl2 (col1 int, col2 int ) tablegroup = tblgroup1;
  Query OK, 0 rows affected

  ```
 - 创建 Hash 分区的表组 `tblgroup2`，同时创建 Hash 分区的表 `tbl1` 和 `tbl2`，且分区个数相同。

  ```sql
  obclient> CREATE TABLEGROUP tblgroup2  partition by hash partitions 10;
  Query OK, 0 rows affected

  obclient> CREATE TABLE tbl1(col1 int, col2 int) TABLEGROUP = tblgroup2 partition by hash(col1) partitions 10;
  Query OK, 0 rows affected

  obclient> CREATE TABLE tbl2(col1 int, col2 int) TABLEGROUP = tblgroup2  partition by hash(col2) partitions 10;
  Query OK, 0 rows affected

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

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

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

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

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

  ```sql
  obclient> CREATE TABLEGROUP tblgroup5 PARTITION BY HASH 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) 咨询热线
