Como atualizar dados de tabela usando a linguagem de manipulação de dados

Nesta página, você aprenderá a atualizar e excluir dados das tabelas do BigQuery usando DML. A adição de linhas em tabelas atuais com a DML não foi incluída neste documento. Para mais informações sobre esse assunto, consulte a instrução INSERT na referência de sintaxe da DML.

algumas limitações e problemas conhecidos relacionados à DML no BigQuery. Além disso, a DML tem os próprios valores de cotas e preços.

Como atualizar dados

Acompanhe as instruções a seguir usando este arquivo de exemplo, que representa uma tabela com uma coluna de endereços IP que você gostaria de mascarar para anonimização:

Nas etapas seguintes, carregue os dados de exemplo em uma tabela e atualize os valores na coluna ip_address:

Etapa 1: carregue o arquivo JSON em uma tabela UserSessions.

Etapa 2: para mascarar o último octeto na coluna ip_address de cada linha, execute a seguinte consulta da DML:

UPDATE sample_db.UserSessions
SET ip_address = REGEXP_REPLACE(ip_address, r"(\.[0-9]+)$", ".0")
WHERE TRUE

Excluir dados

Acompanhe as instruções a seguir usando os arquivos de exemplo, que representam um conjunto de dados com várias tabelas analíticas referentes a sessões do usuário e uma tabela de usuários para exclusão.

Nas etapas seguintes, os dados são carregados em três tabelas e, em seguida, os usuários listados na tabela "DeletedUsers" são excluídos.

Etapa 1: carregue os arquivos JSON nas tabelas "DeletedUsers", "Users" e "UserSessions", respectivamente.

Console

  1. Abra o Console do GCP.
  2. Selecione o conjunto de dados na lista Recursos.
  3. Clique em Criar tabela.

    Criar tabela

  4. Em Criar tabela de, selecione Fazer upload.

  5. Em Selecionar arquivo, procure e selecione o arquivo que você salvou.

    Procurar arquivos

  6. Selecione JSON (delimitado por nova linha) em Formato de arquivo.

  7. Escolha uma opção apropriada para o Nome da tabela.

  8. Em Esquema, clique em Adicionar campo, insira um Nome em cada coluna da tabela e selecione o Tipo apropriado.

    • Clique em Adicionar campo e repita até ter inserido todas as colunas na tabela.
  9. Clique em Criar tabela.

Os esquemas das tabelas de exemplo são:

  • DeletedUsers
    • Nome id, Tipo INTEGER
  • Users
    • Nome id, Tipo INTEGER
    • Nome date_joined, Tipo TIMESTAMP
  • UserSessions
    • Nome id, Tipo STRING
    • Nome user_id, Tipo INTEGER
    • Nome login_time, Tipo TIMESTAMP
    • Nome logout_time, Tipo TIMESTAMP
    • Nome ip_address, Tipo STRING

IU clássica

  1. Abra a IU da Web do BigQuery.
  2. Coloque o cursor sobre o código do conjunto de dados.
  3. Clique na seta ao lado do ID do conjunto de dados. Seta ao lado do nome do conjunto de dados
  4. Clique em Criar nova tabela.
  5. Selecione Upload de arquivo para o Local.
  6. Selecione JSON (delimitado por nova linha) em Formato de arquivo.
  7. Escolha o Nome da tabela.
  8. Em Esquema, digite um Nome para cada coluna na tabela e selecione o Tipo apropriado.

    • Clique em Adicionar campo e repita até ter inserido todas as colunas na tabela.
  9. Clique em Criar tabela.

Os esquemas das tabelas de exemplo são:

  • DeletedUsers
    • Nome id, Tipo INTEGER
  • Users
    • Nome id, Tipo INTEGER
    • Nome date_joined, Tipo TIMESTAMP
  • UserSessions
    • Nome id, Tipo STRING
    • Nome user_id, Tipo INTEGER
    • Nome login_time, Tipo TIMESTAMP
    • Nome logout_time, Tipo TIMESTAMP
    • Nome ip_address, Tipo STRING

CLI

Para usar a ferramenta de linha de comando bq para criar as tabelas, use o comando bq load. Forneça a sinalização --location e defina o valor do local. A sinalização --location é opcional. Por exemplo, se você estiver usando o BigQuery na região asia-northeast1 (Tóquio), o comando load será semelhante ao seguinte:

bq --location=asia-northeast1 load ...

Para criar a tabela DeleteUsers

bq --location=asia-northeast1 load \
--source_format=NEWLINE_DELIMITED_JSON \
sample_db.DeletedUsers \
deletedUsersData.json \
id:integer

Para criar a tabela Users

bq --location=asia-northeast1 load \
--source_format=NEWLINE_DELIMITED_JSON \
sample_db.Users \
usersData.json \
id:integer,date_joined:timestamp

Para criar a tabela UserSessions

bq --location=asia-northeast1 load \
--source_format=NEWLINE_DELIMITED_JSON \
sample_db.UserSessions \
userSessionsData.json \
id:string,user_id:integer,login_time:timestamp,logout_time:timestamp,ip_address:string

Etapa 2: para excluir as informações sobre os usuários na tabela "DeletedUsers". Execute estas consultas DML:

  • Excluir de UsersSessions.

    DELETE FROM sample_db.UserSessions
    WHERE user_id in (SELECT id from sample_db.DeletedUsers)
    
  • Excluir de Users.

    DELETE FROM sample_db.Users
    WHERE id in (SELECT id from sample_db.DeletedUsers)
    

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.