このセクションでは、定数、文字セット、データ型、SQLプロパティ、分散プロパティ、ストレージプロパティを含むSQLステートメントの汎用構文について説明します。
定数
INT_VALUE:整数型定数にマッチします。例えば、123などです。DECIMAL_VALUE:小数点型定数にマッチします。例えば、123.456などです。STR_VALUE:文字列定数にマッチします。例えば、abcなどです。NULL:NULL定数にマッチします。STORAGE_SIZE:ストレージ長定数にマッチします。整数形式のデフォルト単位はバイトであり、文字列形式では単位をMまたはGと指定できます。例えば、1024または'500M'などです。
const_value:
INT_VALUE
| DECIMAL_VALUE
| STR_VALUE
| NULL
| STORAGE_SIZE
STORAGE_SIZE:
INT_VALUE
| 'INT_VALUE[M|G]'
文字セット
charset:
default_charset
| column_charset
default_charset:
[DEFAULT] {CHARSET | CHARACTER SET} [=] {UTF8 | UTF8MB4 | BINARY}
column_charset:
{CHARSET | CHARACTER SET} {UTF8 | UTF8MB4 | BINARY}
照合順序
collate:
default_collate
| column_collate
default_collate:
[DEFAULT] COLLATE [=] {UTF8MB4_GENERAL_CI | UTF8MB4_BIN | BINARY}
column_collate:
COLLATE {UTF8MB4_GENERAL_CI | UTF8MB4_BIN | BINARY}
データ型
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プロパティ
オブジェクト名
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式
expression: const_value | column_factor | operator_expression | function_expressionコメント
comment: COMMENT 'comment_text' comment_text: STR_VALUE
デプロイドプロパティ
PRIMARY_ZONE:データのリーダーレプリカの分散ポリシーを指定します。primary_zone: PRIMARY_ZONE [=] zone_nameZONE_LIST:テナントのリソース分散ポリシーを指定します。zone_list: ZONE_LIST [=] (zone_name [, zone_name ...])REPLICA_NUM:データのレプリカ数を指定します。replica_num: REPLICA_NUM [=] INT_VALUETABLEGROUP:複数のデータのリーダーレプリカの分散ポリシーを指定します。tablegroup: default_tablegroup | table_tablegroup default_tablegroup: DEFAULT TABLEGROUP [=] {tablegroup_name | NULL} table_tablegroup: TABLEGROUP [=] {tablegroup_name | NULL}
ストレージプロパティ
BLOCK_SIZE:オブジェクトストレージのマイクロブロック長を指定します。block_size: BLOCK_SIZE [=] INT_VALUECOMPRESSION:オブジェクトストレージの圧縮アルゴリズムを指定します。compression: COMPRESSION [=] {NONE | LZ4_1.0 | LZ0_1.0 | SNAPPY_1.0 | ZLIB_1.0}
説明
zlibの異なるバージョン間で圧縮アルゴリズムが異なるため、同一データに対して圧縮した結果が一致しない場合があります。OceanBaseデータベースのアップグレード時にレプリカデータの復旧が不可能になる問題を回避するため、V4.3.x系ではV4.3.0以降、zlib_1.0圧縮アルゴリズムはサポートされなくなりました。
PCTFREE:オブジェクトストレージのマクロブロック予約率を指定します。pctfree: PCTFREE [=] INT_VALUETABLET_SIZE:並列コンパクション時の単一タスクの最小シャードを指定します。tablet_size: TABLET_SIZE [=] INT_VALUE