ALTER TABLE.
Actualizar datos
ALTER TABLE...UPDATE para actualizar filas en una tabla:
<expression> es el nuevo valor de la columna para la que se cumple <filter_expr>. <expression> debe ser del mismo tipo de dato que la columna, o debe poder convertirse al mismo tipo de dato mediante el operador CAST. <filter_expr> debe devolver un valor UInt8 (cero o distinto de cero) para cada fila de los datos. Varias Sentencias UPDATE <column> pueden combinarse en un único comando ALTER TABLE, separadas por comas.
Ejemplos:
-
Una mutación como esta permite reemplazar
visitor_idspor otros nuevos mediante una consulta a un Diccionario: -
Modificar varios valores en un solo comando puede ser más eficiente que usar varios comandos:
-
Las mutaciones pueden ejecutarse
ON CLUSTERpara tablas segmentadas:
No es posible actualizar columnas que formen parte de la clave primaria o de la clave de ordenación.
Eliminación de datos
ALTER TABLE para eliminar filas:
<filter_expr> debe devolver un valor UInt8 para cada fila de datos.
Ejemplos
-
Elimine cualquier registro en el que una columna esté dentro de una lista de valores:
-
¿Qué modifica esta consulta?
Para eliminar todos los datos de una tabla, es más eficiente usar el comando
TRUNCATE TABLE [<database].]<table>. Este comando también puede ejecutarse ON CLUSTER.DELETE para obtener más detalles.
Eliminaciones ligeras
DELETE FROM, lo que se conoce como una eliminación ligera. Las filas eliminadas se marcan como eliminadas de inmediato y quedarán excluidas automáticamente de todas las consultas posteriores, por lo que no es necesario esperar a la fusión de partes ni usar la palabra clave FINAL. La limpieza de los datos se realiza de forma asíncrona en segundo plano.
hits en las que la columna Title contiene el texto hello:
- Esta función solo está disponible para la familia de motores de tabla
MergeTree. - Las eliminaciones ligeras son síncronas de forma predeterminada y esperan a que todas las réplicas procesen la eliminación. Este comportamiento se controla mediante la configuración
lightweight_deletes_sync.