创建和管理数据展示位置

本页面介绍了如何在 Spanner 中创建和管理数据展示位置。

如需详细了解地理位置分区的工作原理,请参阅 地理位置分区概览

创建数据展示位置

创建 Spanner 分区后 和数据库,请创建展示位置。

控制台

  1. 前往 Google Cloud 控制台中的实例页面。

    实例

  2. 选择包含用户创建的分区的实例。

  3. 选择要进行数据分区的数据库。

  4. 在导航菜单中,点击 Spanner Studio

  5. Spanner Studio 页面中,点击 打开新的标签页或使用空白 编辑器标签页。

  6. 输入 CREATE PLACEMENT DDL 语句。

    例如,您可以运行以下命令来创建展示位置表 europe-partition 分区中的 europeplacement

      CREATE PLACEMENT `europeplacement` OPTIONS(instance_partitions="europe-partition");
    

    可选:您还可以使用对象资源管理器窗格查看、搜索和 并与您的 Placement 对象互动。如需了解详情,请参阅 探索数据

  7. 点击运行

gcloud

如需使用 gcloud CLI 命令创建展示位置,请使用 gcloud spanner databases ddl update.

例如,在 europe-partition 分区中创建展示位置:

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE PLACEMENT europeplacement OPTIONS (instance_partition='europe-partition')"

删除数据展示位置

您不能删除展示位置。您必须先删除数据库,然后才能删除 展示位置及其相关数据。如需了解详情,请参阅 删除数据库

创建包含展示位置键的表

控制台

  1. 在导航菜单中,点击 Spanner Studio
  2. Spanner Studio 页面中,点击 打开新的标签页或使用空白 编辑器标签页。
  3. 输入 CREATE TABLE DDL 语句。

    例如,您可以创建一个Singers表,该表使用 用于对歌手数据进行分区的展示位置键:

    CREATE TABLE Singers (
      SingerId INT64 NOT NULL,
      Name STRING(MAX) NOT NULL,
      ...
      Location STRING(MAX) NOT NULL PLACEMENT KEY
    ) PRIMARY KEY (SingerId);
    

gcloud

如需创建表,请使用 gcloud spanner databases ddl update.

例如,您可以创建一个Singers表,该表使用 用于对歌手数据进行分区的展示位置键:

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( SingerId INT64 NOT NULL, SingerName STRING(MAX) NOT NULL, Location STRING(MAX) NOT NULL PLACEMENT KEY ) PRIMARY KEY (SingerId)"

修改包含展示位置键的表格

您无法从表格中放置展示位置键。您也不能添加展示位置键 创建表不过,您可以使用 ALTER TABLE DDL 语句,用于更改 表,例如添加和删除非展示位置键列。

删除包含展示位置键的表

在删除包含展示位置键的表之前,您必须先完成以下操作:

  1. 删除展示位置表中的所有行。
  2. 等待 version_retention_period 要传递的数据。如需了解详情,请参阅时间点恢复。 然后,请按以下步骤操作:

控制台

  1. 在导航菜单中,点击 Spanner Studio
  2. Spanner Studio 页面中,点击 打开新的标签页或使用空白 编辑器标签页。
  3. 输入 DROP TABLE DDL 语句。

    例如,删除 Singers 表:

    DROP TABLE Singers;
    

gcloud

如需删除表,请使用 gcloud spanner databases ddl update.

例如,删除 Singers 表:

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="DROP TABLE Singers"

在展示位置表格中插入行

控制台

  1. 在导航菜单中,点击 Spanner Studio
  2. Spanner Studio 页面中,点击 打开新的标签页或使用空白 编辑器标签页。
  3. 输入 INSERT INTO DDL 语句。

    例如,将歌手 Marc Richards 添加到 Singers 表中, 将其分区到 europeplacement 中:

      INSERT INTO Singers(SingerId, Name, Location)
      VALUES (1, 'Marc Richards', 'europeplacement')
    

gcloud

如需将数据写入表中,请使用 gcloud spanner rows insert.

例如,将歌手 Marc Richards 添加到 Singers 表中, 将其分区到 europeplacement 中:

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

更新展示位置表格中的行

控制台

  1. 在导航菜单中,点击 Spanner Studio
  2. Spanner Studio 页面中,点击 打开新的标签页或使用空白 编辑器标签页。
  3. 使用 DML变更更新 展示位置表格中。

    例如,将 Singers 表中 singerid=1 的名称更新为 Catalina Smith:

    UPDATE Singers s
    SET s.name='Catalina Smith'
    WHERE s.id=1;
    

gcloud

若要更新展示位置表格中的数据,请执行以下操作: 请使用 gcloud spanner rows update

例如,将 Singers 表中 singerid=1 的名称更新为 Catalina Smith:

gcloud spanner rows update --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,SingerName='Catalina Smith'

在展示位置表格中移动行

控制台

  1. 创建新的分区和展示位置(如果尚未创建)。
  2. 在导航菜单中,点击 Spanner Studio
  3. Spanner Studio 页面中,点击 打开新的标签页或使用空白 编辑器标签页。
  4. 使用 DML变更将数据迁移到 新分区。

    例如,将 Singers 表中的 singerid=1 移动到 asiaplacement

    UPDATE Singers s
    SET s.location='asiaplacement'
    WHERE s.id=1;
    

gcloud

创建好要迁出数据的分区和位置后, 请使用 gcloud spanner rows update

例如,将 Singers 表中的 singerid=1 移动到 asiaplacement

gcloud spanner rows update --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,Location='asiaplacement'

删除展示位置表格中的行

控制台

  1. 在导航菜单中,点击 Spanner Studio
  2. Spanner Studio 页面中,点击 打开新的标签页或使用空白 编辑器标签页。
  3. 使用 DML变更删除数据。

    例如,删除 Singers 表中的 singerid=1

    DELETE FROM Singers s
    WHERE s.id=1;
    

gcloud

如需删除数据,请使用 gcloud spanner rows delete

例如,删除 Singers 表中的 singerid=1

gcloud spanner rows delete --table=Singers --database=example-db \
  --instance=test-instance --keys=1

查询展示位置表中的数据

控制台

  1. 在导航菜单中,点击 Spanner Studio
  2. Spanner Studio 页面中,点击 打开新的标签页或使用空白 编辑器标签页。
  3. 运行查询。

    例如,查询 Singers 表:

    SELECT * FROM Singers s WHERE s.SingerId=1;
    

gcloud

如需查询数据,请使用 gcloud spanner databases execute-sql

例如,查询 Singers 表:

gcloud spanner databases execute-sql example-db \
  --sql='SELECT * FROM Singers s WHERE s.SingerId=1'

后续步骤