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 el lenguaje de manipulación de datos (DML). Sin embargo, no se explica cómo agregar filas a tablas existentes mediante DML. Si deseas obtener información sobre cómo agregar filas mediante DML, consulta Declaración INSERT
en la referencia de sintaxis de DML.
Ten en cuenta que el uso de DML en BigQuery tiene algunas limitaciones. DML también cuenta con sus propios 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 ip_address
:
Paso 1. Carga el archivo JSON en una tabla UserSessions
.
Paso 2. Para enmascarar el último octeto de la columna ip_address
de cada fila, ejecuta la siguiente consulta de DML:
UPDATE sample_db.UserSessions SET ip_address = REGEXP_REPLACE(ip_address, r"(\.[0-9]+)$", ".0") WHERE TRUE
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Python de BigQuery.
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
En el panel Explorador, expande tu proyecto y selecciona un conjunto de datos.
Expande la opción Acciones
y haz clic en Abrir.En el panel de detalles, haz clic en Crear tabla
(Create table).Para Crear tabla desde (Create table from), selecciona Subir (Upload).
En Seleccionar archivo (Select file), busca y selecciona el archivo que descargaste.
Selecciona JSON (delimitado por saltos de línea) en Formato de archivo (File format).
Elige un Nombre de tabla adecuado.
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.
Haz clic en Crear tabla.
Los esquemas de las tablas de muestra son los siguientes:
- DeletedUsers
- Nombre
id
, tipoINTEGER
- Nombre
- Users
- Nombre
id
, tipoINTEGER
- Nombre
date_joined
, tipoTIMESTAMP
- Nombre
- UserSessions
- Nombre
id
, tipoSTRING
- Nombre
user_id
, tipoINTEGER
- Nombre
login_time
, tipoTIMESTAMP
- Nombre
logout_time
, tipoTIMESTAMP
- Nombre
ip_address
, tipoSTRING
- Nombre
bq
Si quieres 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 según tu ubicación. La marca --location
es opcional. Por ejemplo, si usas BigQuery en la región asia-northeast1
(Tokio), el comando de carga tendrá el siguiente aspecto:
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)
Seguridad de las tablas
Para controlar el acceso a las tablas en BigQuery, consulta Introducción a los controles de acceso a tablas.
¿Qué sigue?
- Consulta la página de referencia de DML.
- Consulta la sintaxis y las muestras de DML en la página de sintaxis de DML.
- Obtén información sobre las transacciones de varias declaraciones, que te permiten ejecutar varias declaraciones DML y confirmar los resultados de manera atómica.