Actualiza datos de tablas con el lenguaje de manipulación de datos

En esta página, se ofrece información sobre cómo actualizar y borrar datos en las tablas de BigQuery mediante DML. Sin embargo, no se explica cómo agregar filas a tablas existentes con DML. Si deseas obtener información sobre cómo agregar filas con DML, consulta la sección sobre la declaración INSERT en la referencia de sintaxis de DML.

Ten en cuenta que el uso de DML en BigQuery tiene algunas limitaciones y problemas comunes. DML también cuenta con sus propias cuotas y precios.

Actualiza datos

Sigue las instrucciones que aparecen a continuación y usa este archivo de muestra, que representa una tabla con una columna de direcciones IP que te gustaría enmascarar para su anonimización.

En los siguientes pasos, se cargan los datos de muestra en una tabla y se actualizan los valores en la columna de ip_address:

Paso 1. Carga el archivo JSON en una tabla UserSessions.

Paso 2. Para enmascarar el último octeto de cada columna ip_address de la fila, ejecuta la siguiente consulta de DML.

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

Borra datos

Sigue las instrucciones que aparecen a continuación y usa los archivos de muestra, que representan un conjunto de datos con múltiples tablas de estadísticas sobre sesiones de usuario y una tabla de usuarios que deben borrarse.

En los siguientes pasos, se cargan los datos en tres tablas y, luego, se borran los usuarios enumerados en la tabla DeletedUsers.

Paso 1. Carga los archivos JSON en las tablas DeletedUsers, Users y UserSessions, respectivamente.

Console

  1. Abre GCP Console.
  2. Selecciona tu conjunto de datos de la lista Recursos.
  3. Haz clic en Crear tabla (Create table).

    Crear tabla

  4. Para Crear tabla desde (Create table from), selecciona Cargar (Upload).

  5. En Seleccionar archivo (Select file), busca y selecciona el archivo que descargaste.

    Explora archivos

  6. Selecciona JSON (delimitado por saltos de línea) en Formato de archivo (File format).

  7. Elige un Nombre de tabla adecuado.

  8. En Esquema, haz clic en Agregar campo y, luego, ingresa un Nombre para cada columna en la tabla y selecciona el Tipo adecuado.

    • Haz clic en Agregar campo y repite esta acción hasta haber ingresado todas las columnas de la tabla.
  9. Haz clic en Crear tabla.

Los esquemas de las tablas de muestra son los siguientes:

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

IU clásica

  1. Abre la IU web de BigQuery.
  2. Desplázate sobre el ID del conjunto de datos.
  3. Haz clic en la flecha junto al ID de tu conjunto de datos. Flecha ubicada junto al nombre del conjunto de datos
  4. Haz clic en Crear nueva tabla.
  5. Selecciona Carga de archivos en Ubicación.
  6. Selecciona JSON (delimitado por saltos de línea) en Formato de archivo.
  7. Elige el Nombre de tabla.
  8. En Esquema, ingresa un Nombre para cada columna de la tabla y selecciona el Tipo adecuado.

    • Haz clic en Agregar campo y repite esta acción hasta haber ingresado todas las columnas de la tabla.
  9. Haz clic en Crear tabla.

Los esquemas de las tablas de muestra son los siguientes:

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

CLI

Si deseas usar la herramienta de línea de comandos de bq para crear las tablas, usa el comando bq load. Proporciona la marca --location y configura el valor en tu ubicación. La marca --location es opcional. Por ejemplo, si usas BigQuery en la región de asia-northeast1 (Tokio), el comando de carga debería verse como se muestra a continuación:

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

Para crear la tabla DeleteUsers, ingresa este comando:

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

Para crear la tabla Users, ingresa este comando:

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

Para crear la tabla UserSessions, ingresa este comando:

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

Paso 2. A fin de borrar la información sobre los usuarios en la tabla DeletedUsers, ejecuta las siguientes consultas de DML:

  • Borrar de UsersSessions

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

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

¿Qué sigue?

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.