---
title: "通用语法 - OceanBase 数据库 V4.0.0-preview | OceanBase 文档中心"
description: 通用语法 本节介绍 SQL 语句的通用语法，包括常量、字符集、数据类型、SQL 属性、分布式属性和存储属性。 常量 INT_VALUE ：匹配整数类型常量，如 123 。 DECIMAL_VALUE ：匹配定点类型常量，如 123.456 。 STR_VALUE ：匹配字符串常量，如 abc 。 NULL ：匹配 N…
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.0.0-preview

# 通用语法

更新时间：2023-07-24 17:45:58

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

本节介绍 SQL 语句的通用语法，包括常量、字符集、数据类型、SQL 属性、分布式属性和存储属性。

## 常量

- `INT_VALUE`：匹配整数类型常量，如 `123`。
 - `DECIMAL_VALUE`：匹配定点类型常量，如 `123.456`。
 - `STR_VALUE`：匹配字符串常量，如 `abc`。
 - `NULL`：匹配 `NULL` 常量。
 - `STORAGE_SIZE`：匹配存储长度常量，整数形式默认单位为字节，字符串形式可指定单位为 M 或 G，例如 `1024` 或 `'500M'`。

```sql
const_value:
      INT_VALUE
    | DECIMAL_VALUE
    | STR_VALUE
    | NULL
    | STORAGE_SIZE

STORAGE_SIZE:
      INT_VALUE
    | 'INT_VALUE[M|G]'

```

## 字符集

```sql
charset:
      default_charset
    | column_charset

default_charset:
    [DEFAULT] {CHARSET | CHARACTER SET} [=] {UTF8 | UTF8MB4 | BINARY}

column_charset:
    {CHARSET | CHARACTER SET} {UTF8 | UTF8MB4 | BINARY}

```

## 字符序

```sql
collate:
      default_collate
    | column_collate

default_collate:
    [DEFAULT] COLLATE [=] {UTF8MB4_GENERAL_CI | UTF8MB4_BIN | BINARY}

column_collate:
    COLLATE {UTF8MB4_GENERAL_CI | UTF8MB4_BIN | BINARY}

```

## 数据类型

```sql
data_type:
      TINYINT[(precision)] [UNSIGNED] [ZEROFILL]
    | SMALLINT[(precision)] [UNSIGNED] [ZEROFILL]
    | MEDIUMINT[(precision)] [UNSIGNED] [ZEROFILL]
    | INT[(precision)] [UNSIGNED] [ZEROFILL]
    | INTEGER[(precision)] [UNSIGNED] [ZEROFILL]
    | BIGINT[(precision)] [UNSIGNED] [ZEROFILL]
    | FLOAT[(precision, scale)] [UNSIGNED] [ZEROFILL]
    | DOUBLE[(precision, scale)] [UNSIGNED] [ZEROFILL]
    | DECIMAL[(precision [, scale])] [UNSIGNED] [ZEROFILL]
    | NUMERIC[(precision [, scale])] [UNSIGNED] [ZEROFILL]
    | DATETIME[(scale)]
    | TIMESTAMP[(scale)]
    | DATE
    | TIME[(scale)]
    | YEAR
    | VARCHAR(length) column_charset column_collate
    | VARBINARY(length)
    | CHAR[(length)] column_charset column_collate
    | BINARY[(length)]
    | TINYTEXT column_charset column_collate
    | TINYLOB
    | TEXT[(length)] column_charset column_collate
    | BLOB[(length)]
    | MEDIUMTEXT column_charset column_collate
    | MEDIUMBLOB
    | LONGTEXT column_charset column_collate
    | LONGBLOB

precision | scale | length:
    INT_VALUE

```

## SQL 属性

- 对象名

  ```sql
  tenant_name | pool_name | unit_name | zone_name | region_name:
      STR_VALUE

  database_name | table_name | table_alias_name | column_name| column_alias_name  | partition_name | subpartition_name:
      STR_VALUE

  index_name | view_name | object_name | constraint_name | tablegroup_name:
      STR_VALUE

  outline_name | user_name:
      STR_VALUE

  table_factor:
      [[database_name].] table_name

  column_factor:
      [table_factor.] column_name

  ```
 - 表达式

  ```sql
  expression:
        const_value
      | column_factor
      | operator_expression
      | function_expression

  ```
 - 注释

  ```sql
  comment:
      COMMENT 'comment_text'

  comment_text:
      STR_VALUE

  ```

## 分布式属性

- `PRIMARY_ZONE`：指定数据的主副本分布策略。

  ```sql
  primary_zone:
  PRIMARY_ZONE [=] zone_name

  ```
 - `ZONE_LIST`：指定租户的资源分布策略。

  ```sql
  zone_list:
  ZONE_LIST [=] (zone_name [, zone_name ...])

  ```
 - `REPLICA_NUM`：指定数据的副本份数。

  ```sql
  replica_num:
  REPLICA_NUM [=] INT_VALUE

  ```
 - `TABLEGROUP`：指定多份数据的主副本分布策略。

  ```sql
  tablegroup:
        default_tablegroup
      | table_tablegroup

  default_tablegroup:
      DEFAULT TABLEGROUP [=] {tablegroup_name | NULL}

  table_tablegroup:
      TABLEGROUP [=] {tablegroup_name | NULL}

  ```

## 存储属性

- `BLOCK_SIZE`：指定对象存储的微块长度。

  ```sql
  block_size:
  BLOCK_SIZE [=] INT_VALUE

  ```
 - `COMPRESSION`：指定对象存储的压缩算法。

  ```sql
  compression:
  COMPRESSION [=] {NONE | LZ4_1.0 | LZ0_1.0 | SNAPPY_1.0 | ZLIB_1.0}

  ```
 - `PCTFREE`：指定对象存储的宏块预留百分比。

  ```sql
  pctfree:
  PCTFREE [=] INT_VALUE

  ```
 - `TABLET_SIZE`：指定并行合并时单个任务的最小分片。

  ```sql
  tablet_size:
  TABLET_SIZE [=] INT_VALUE

  ```

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