通過 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 |
要執行的 |
傳回值
exe_sql_query 方法返回一個三元組,包含以下元素。
|
元素 |
類型 |
說明 |
|
|
List[Row] |
SQL 寫入不返回資料行,因此該元素為空白列表。 |
|
|
List[Tuple] |
各資料表消耗的讀寫 CU。每個元組包含資料表名稱和 |
|
|
List[Tuple] |
各多元索引消耗的讀寫 CU。每個元組包含多元索引名稱和 |
情境樣本
批量寫入資料
一條 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)