使用 Google Cloud CLI 插入、更新和删除数据

本页面介绍了如何使用 gcloud 命令行工具插入、更新和删除数据。

使用 DML 修改数据

要执行数据操纵语言 (DML) 语句,请使用 gcloud spanner databases execute-sql 命令。以下示例向 Singers 表中添加一个新行。

gcloud spanner databases execute-sql example-db --instance=test-instance \
    --sql="INSERT Singers (SingerId, FirstName, LastName) VALUES (1, 'Marc', 'Richards')"

如需执行分区 DML 语句,请将 gcloud spanner databases execute-sql 命令与 --enable-partitioned-dml 选项结合使用。以下示例更新 Albums 表中的行。

gcloud spanner databases execute-sql example-db \
    --instance=test-instance --enable-partitioned-dml \
    --sql='UPDATE Albums SET MarketingBudget = 0 WHERE MarketingBudget IS NULL'

有关 Spanner DML 参考,请参阅数据操纵语言语法

使用 rows 命令组修改行

使用 gcloud spanner rows 命令组修改数据库中的数据:

  • 在表中插入新行。
  • 更新表中现有行的列。
  • 从表中删除行。

rows 命令组可识别所有有效列类型的字面量。

在表中插入行

要在表中插入新行,必须包含键列和任何其他必需列的值:

gcloud spanner rows insert --instance=INSTANCE_ID --database=DATABASE_ID \
    --table=TABLE_NAME \
    --data=COL_NAME_1=COL_VALUE_1,COL_NAME_2=COL_VALUE_2,COL_NAME_3=COL_VALUE_3,...,COL_NAME_N=COL_VALUE_N

以下示例在 Singers 表中插入新行:

gcloud spanner rows insert --instance=test-instance --database=example-db \
    --table=Singers \
    --data=SingerId=1,FirstName='Marc',LastName='Richards'

更新表中的行

要更新表中的行,必须包含要更新的键列和列的值:

gcloud spanner rows update --instance=INSTANCE_ID --database=DATABASE_ID \
    --table=TABLE_NAME \
    --data=COL_NAME_1=COL_VALUE_1,COL_NAME_2=COL_VALUE_2,COL_NAME_3=COL_VALUE_3,...,COL_NAME_N=COL_VALUE_N

以下示例更新