執行CREATE TABLE語句為已存在的表或者多元索引建立映射關係。建立映射關係時需要配置表的欄位名稱、欄位類型和主鍵資訊以及根據需要配置查詢資料時的執行引擎。本文介紹如何為已存在的表建立映射關係。
關於建立多元索引的映射關係的具體操作,請參見建立多元索引的映射關係。
文法
CREATE TABLE [IF NOT EXISTS] table_name(column_name data_type [NOT NULL | NULL],...
| PRIMARY KEY(key_part[,key_part])
)
ENGINE='tablestore',
ENGINE_ATTRIBUTE='{"consistency": consistency [,"allow_inaccurate_aggregation": allow_inaccurate_aggregation]}';
當表只有一個主鍵時,您還可以使用如下文法為已存在的表建立映射關係。
CREATE TABLE [IF NOT EXISTS] table_name(
column_name data_type PRIMARY KEY,column_name data_type [NOT NULL | NULL],...
)
ENGINE='tablestore',
ENGINE_ATTRIBUTE='{"consistency": consistency [,"allow_inaccurate_aggregation": allow_inaccurate_aggregation]}';
參數
參數 | 是否必選 | 說明 |
IF NOT EXISTS | 否 | 如果指定IF NOT EXISTS,無論表是否存在,均會返回成功;如果未指定IF NOT EXISTS,則只有當表不存在時,才會返回成功。 |
table_name | 是 | 表名,用於唯一標識一張表。 SQL中的表名必須和原始表名相同。 |
column_name | 是 | 列名。 SQL中的列名必須和原始表中的列名等效,例如原始表中列名為Aa,在SQL中列名必須使用Aa、AA、aA或者aa中的一個。 |
data_type | 是 | 列的資料類型,包含BIGINT、DOUBLE、BOOL等多種資料類型。 SQL中列的資料類型必須和原始表中列的資料類型相匹配。關於資料類型映射的更多資訊,請參見SQL資料類型映射。 |
NOT NULL | NULL | 否 | 列值是否允許為NULL。取值範圍如下:
|
key_part | 是 | 主鍵列名稱。支援設定多個主鍵列,多個主鍵列之間用半形逗號(,)分隔。 主鍵列名稱必須包含在列名中。 |
ENGINE | 否 | 使用映射表查詢資料時的執行引擎。取值範圍如下:
|
ENGINE_ATTRIBUTE | 否 | 執行引擎的屬性,以JSON格式表示。包括如下選項:
|
樣本
樣本1
以下樣本用於建立名稱為exampletable1的映射表,該表包含主鍵列id(BIGINT類型)以及屬性列colvalue(BIGINT類型)和content(MEDIUMTEXT)。
CREATE TABLE exampletable1 (id BIGINT(20) PRIMARY KEY, colvalue BIGINT(20), content MEDIUMTEXT);
樣本2
以下樣本用於建立名稱為exampletable2的映射表,該表包含主鍵列id(BIGINT類型)、colvalue(VARCHAR類型)以及屬性列content(MEDIUMTEXT類型),並且所有對該表的查詢必須滿足強一致性。
CREATE TABLE exampletable2 (id BIGINT(20), colvalue VARCHAR(1024), content MEDIUMTEXT, PRIMARY KEY(colvalue, id)) ENGINE_ATTRIBUTE='{"consistency": "strong"}';
常見問題
相關文檔
建立映射關係後,您可以通過SELECT語句查詢與分析表中資料。更多資訊,請參見查詢資料。
如果要通過指定多元索引查詢與分析資料,您可以通過
CREATE TABLE
語句為指定多元索引建立映射關係實現。更多資訊,請參見建立多元索引的映射關係。如果資料表的屬性列有變化,您可以通過
ALTER TABLE
語句同步修改映射表。更多資訊,請參見更新映射表屬性列。如果需要查詢表的描述資訊,您可以通過
DESCRIBE
語句實現。更多資訊,請參見查詢表的描述資訊。如果不再需要使用某個映射關係,您可以通過
DROP MAPPING TABLE
語句刪除映射關係。更多資訊,請參見刪除映射關係。如果需要查看錶的索引資訊,您可以通過
SHOW INDEX
語句實現。更多資訊,請參見查詢索引描述資訊。如果需要列出當前資料庫中的映射表名稱列表,您可以通過
SHOW TABLES
語句實現。更多資訊,請參見列出映射表名稱列表。