全部產品
Search
文件中心

Tablestore:通過 SQL 寫入資料

更新時間:Aug 07, 2026

通過 Python SDK 執行 INSERT 語句,向未開啟局部事務功能的資料表寫入一行或多行資料。

前提條件

  • 安裝Tablestore Python SDK並初始化用戶端。

  • SQL 查詢功能需要使用 5.4.2 及以上版本,建議使用最新版本。

  • 已為待操作的資料表建立映射關係,且資料表未開啟局部事務功能。

  • 使用 RAM 使用者時,已授予 SQL_DML 許可權。

功能說明

調用 exe_sql_query 方法執行 INSERT 語句,寫入一行資料。如果指定的主鍵已存在,請求會失敗。

def exe_sql_query(self, query)

以下樣本向 example_table 寫入一行資料。

query = (
    "INSERT INTO example_table (tenant_id, pk, name, score) "
    "VALUES (1, 'row1', 'example', 10)"
)
row_list, table_capacity_units, _ = client.exe_sql_query(query)

參數說明

exe_sql_query 方法包含以下參數。

名稱

類型

說明

query(必選)

String

要執行的 INSERT 語句,用於指定映射表名稱、待寫入的列和列值。

傳回值

exe_sql_query 方法返回一個三元組,包含以下元素。

元素

類型

說明

row_list

List[Row]

SQL 寫入不返回資料行,因此該元素為空白列表。

table_capacity_units

List[Tuple]

各資料表消耗的讀寫 CU。每個元組包含資料表名稱和 CapacityUnit 對象。

search_capacity_units

List[Tuple]

各多元索引消耗的讀寫 CU。每個元組包含多元索引名稱和 CapacityUnit 對象。

情境樣本

批量寫入資料

一條 INSERT 語句最多寫入 200 行。多行資料必須具有相同的分區鍵,並作為原子操作執行:全部寫入成功或全部寫入失敗。

query = (
    "INSERT INTO example_table (tenant_id, pk, name, score) VALUES "
    "(1, 'row1', 'example-a', 10), "
    "(1, 'row2', 'example-b', 20), "
    "(1, 'row3', 'example-c', 30)"
)
client.exe_sql_query(query)