¿Qué es CRUD (crear, leer, actualizar, eliminar)?

Actualizado: agosto de 2026

CRUD es la abreviatura de crear, leer, actualizar y eliminar: las cuatro operaciones básicas que todo almacén de datos persistente debe soportar. Acuñado en Managing the Data-base Environment de James Martin (1983), sigue siendo el acrónimo más durable del trabajo de backend porque nombra el piso: haga lo que haga tu sistema además, los registros deben nacer, encontrarse, cambiar y desaparecer.

Puntos clave

PreguntaRespuesta
Los cuatro verbosCrear · Leer · Actualizar · Eliminar — el mínimo de la persistencia
En SQLINSERT · SELECT · UPDATE · DELETE
Sobre HTTPPOST · GET · PUT/PATCH · DELETE
vs. RESTCRUD es lo que le haces a los datos; REST es cómo los clientes llegan a los recursos
El movimiento modernoLa capa CRUD se genera, no se escribe

CRUD en cuatro lenguajes

-- CRUD como SQL: el mapeo original
INSERT INTO tasks (title) VALUES ('Write the launch post');   -- C
SELECT * FROM tasks WHERE done = false;                       -- R
UPDATE tasks SET done = true WHERE id = 42;                   -- U
DELETE FROM tasks WHERE id = 42;                              -- D

Y el mismo ciclo tal como lo expresa un SDK — la forma que el código de aplicación escribe en realidad:

// JavaScript / Node.js — Back4app JS SDK
// The full CRUD cycle on one object
const task = new Parse.Object('Task');
task.set('title', 'Write the launch post');            // C — create
await task.save();

const fetched = await new Parse.Query('Task')
  .equalTo('done', false).first();                     // R — read

fetched.set('done', true);                             // U — update
await fetched.save();

await fetched.destroy();                               // D — delete

Una tabla para mapearlos todos

El mapeo de seis columnas que ninguna referencia individual ensambla:

OperaciónSQLVerbo HTTPEstadoBase de documentosIdioma de SDK/ORM
CrearINSERTPOST201insertOneobject.save() (nuevo)
LeerSELECTGET200find / findOnequery.find() / .get()
ActualizarUPDATEPUT / PATCH200updateOneobject.save() (campos sucios)
EliminarDELETEDELETE204deleteOneobject.destroy()

Dos notas al pie de la spec de HTTP que vale la pena saber de verdad: GET es seguro (no cambia estado), PUT y DELETE son idempotentes (se repiten sin daño), POST no es ninguna de las dos — por eso la lógica de reintentos los trata distinto, y por eso PUT significa “reemplazar todo” mientras PATCH significa “modificar una parte”.

Dónde ocurre CRUD

Dónde ocurren las operaciones CRUD en un stackUna interfaz de usuario dispara llamadas de SDK o HTTP; la capa de API mapea verbos a operaciones, aplica permisos y validación, y ejecuta las sentencias de base de datos correspondientes contra el almacén.

UI
formularios, listas, botones

Capa de API
verbos → operaciones
permisos · validación

Base de datos
INSERT · SELECT
UPDATE · DELETE

Una interfaz de usuario dispara llamadas de SDK o HTTP; la capa de API mapea verbos a operaciones, aplica permisos y validación, y ejecuta las sentencias de base de datos correspondientes contra el almacén.

El diagrama es también el recordatorio de seguridad: cada verbo cruza la capa de API, que es donde pertenecen los permisos y la validación — una superficie CRUD sin control de acceso por operación es una base de datos pública con pasos extra.

CRUD vs. REST

PreguntaCRUDREST
Qué nombraOperaciones sobre datosUn estilo arquitectónico para clientes y recursos
Definido porCuatro verbosRestricciones: sin estado, interfaz uniforme, cacheable…
Dónde viveSQL, SDKs, colas, donde seaAPIs HTTP
RelaciónEl payload habitual de los endpoints RESTSuele mapear a CRUD — pero puede exponer acciones no-CRUD

La conclusión práctica: una API REST es con frecuencia una API CRUD vestida de HTTP — pero “aprobar factura” pertenece a tu API y no es un verbo CRUD, y CRUD existe feliz sin HTTP a la vista. Los términos cooperan; no compiten.

Casos de uso comunes

  • La app CRUD propiamente dicha. Paneles de administración, CMSs, CRMs, inventario, reservas — la mayoría del software de negocio, con honra.
  • Prototipos y MVPs. Los cuatro verbos sobre un puñado de clases son la primera versión de la mayoría de los productos.
  • APIs autogeneradas. Entra el esquema, sale la superficie CRUD — el default moderno que convierte los cuatro verbos en configuración en vez de código, cubierto a fondo en la entrada de APIs autogeneradas.
  • Tooling de administración y soporte. Grillas visuales sobre la misma superficie CRUD, permisos incluidos.
  • El sustrato bajo todo lo demás. Los sistemas con event sourcing o pesados en workflows igual exponen CRUD en alguna parte — configuraciones, perfiles, datos de referencia.

¿Debería toda acción ser CRUD? Matriz de decisión

Modélalo como CRUD cuando…Busca algo más cuando…
El estado actual del registro es la verdadLa historia es el dominio → event sourcing
Editar es el modelo mental del usuarioLecturas y escrituras escalan distinto → CQRS
”Eliminar” puede remover de verdadLa auditoría o el deshacer exigen soft deletes
Las ediciones concurrentes son rarasAcechan updates perdidos → optimistic locking, versiones
La acción es “cambia este registro”La acción es un verbo de negocio → nombra el workflow

La última fila es el olor de diseño que vale memorizar: cuando los nombres de endpoints derivan hacia updateStatus, el dominio está pidiendo verbos propios.

Limitaciones y trade-offs

  • Actualizar destruye la historia. La mutación en el lugar es el acto que define a CRUD y su pérdida definitoria — cualquier cosa que necesite “cómo se veía esto el martes” quiere journaling o eventos.
  • Eliminar es una política, no un verbo. Soft vs. hard delete intercambia auditabilidad contra el borrado de los regímenes de privacidad y la complejidad de las consultas; decide por clase, a propósito.
  • La concurrencia no tiene precio puesto. Dos updates, gana el último escritor, el cambio del primero se pierde en silencio — campos de versión y saves condicionales son el antídoto estándar.
  • List es el quinto verbo. El filtrado, el ordenamiento y la paginación cargan la mayor parte del tráfico real de lectura y la mayoría de los bugs de rendimiento — la razón de que existan CRUDL y BREAD.
  • Las APIs CRUD pueden volverse anémicas. Una superficie que solo es filas-que-entran-filas-que-salen empuja la lógica de negocio a los clientes; mantén los workflows del lado del servidor, junto a los datos.

Operaciones CRUD en Back4app

Back4app es una plataforma open-source de Backend as a Service (BaaS) que combina base de datos gestionada, APIs REST y GraphQL generadas automáticamente, autenticación, almacenamiento de archivos y funciones serverless con Cloud Code. Su relación con este artículo es la sustracción: define una clase y toda la matriz CRUD de arriba existe de una vez — endpoints REST según la columna HTTP, mutations de GraphQL y los idiomas de SDK de las pestañas de código, con permisos a nivel de clase custodiando cada verbo y triggers beforeSave sosteniendo la validación. Los cuatro verbos dejan de ser tu código y se convierten en tu vocabulario.

Preguntas frecuentes

¿Qué significa CRUD?

Create, Read, Update, Delete — crear, leer, actualizar, eliminar: las cuatro operaciones fundamentales del almacenamiento persistente y el mínimo que cualquier aplicación respaldada por datos debe soportar. El acrónimo lo popularizó James Martin en su libro de 1983 Managing the Data-base Environment, con semánticas relacionadas formalizadas por Haim Kilov en 1990 — lo que lo vuelve uno de los términos de uso diario más antiguos del vocabulario de backend.

¿Cómo mapea CRUD a SQL y a HTTP?

Dos mapeos limpios que todo desarrollador memoriza una vez: en SQL, crear es INSERT, leer es SELECT, actualizar es UPDATE y eliminar es DELETE. Sobre HTTP, crear es POST, leer es GET, actualizar es PUT para reemplazo completo o PATCH para cambios parciales, y eliminar es DELETE — con 201, 200 y 204 como códigos de estado del camino feliz, respectivamente.

¿CRUD es lo mismo que REST?

No — responden preguntas distintas. CRUD nombra lo que le haces a los datos; REST es un estilo arquitectónico para cómo los clientes interactúan con recursos sobre HTTP, con restricciones como la ausencia de estado y una interfaz uniforme. Los endpoints REST suelen mapear limpio a CRUD, pero REST puede exponer acciones no-CRUD, y CRUD vive feliz fuera de HTTP — en sesiones SQL, SDKs y colas.

¿Cuál es la diferencia entre PUT y PATCH?

El alcance de la actualización. PUT reemplaza el recurso completo con la representación que envías — idempotente por definición, ya que enviarlo dos veces produce el mismo estado. PATCH aplica una modificación parcial — solo cambian los campos que envías. La mayoría del tráfico real de "actualización" tiene forma de PATCH, y por eso los métodos save() de los SDKs envían solo los campos sucios.

¿Qué es una app CRUD?

Una aplicación cuyo ciclo central es crear, ver, editar y eliminar registros — paneles de administración, CMSs, CRMs, sistemas de inventario y reservas. Es un término levemente despectivo que no debería serlo: la mayoría del software de negocio es CRUD en el fondo, que es exactamente por lo que las plataformas que generan la capa CRUD automáticamente eliminan tanto trabajo.

¿Qué es un soft delete?

Marcar un registro como eliminado — un flag o un timestamp — en vez de removerlo. Preserva el historial de auditoría, la integridad referencial y el deshacer, al precio de filtrar cada consulta y complicar las constraints de unicidad. La contraparte, el hard delete, es la remoción real, que regímenes de privacidad como las solicitudes de borrado del GDPR pueden exigir de verdad. La mayoría de los sistemas necesita una política deliberada por clase, no un default.

¿Cuándo CRUD no alcanza?

Cuando el dominio trata de eventos e historia y no del estado actual. Actualizar en el lugar destruye el pasado — el event sourcing mantiene un log de solo-agregar y deriva el estado desde ahí; CQRS separa por completo los modelos de lectura y escritura. Y acciones de negocio como "aprobar factura" o "checkout" son flujos de trabajo, no ediciones de filas — modelarlas como updates a secas esconde el dominio. CRUD es el piso del acceso a datos, no el techo.

¿Qué son variantes de CRUD como CRUDL y BREAD?

Extensiones y re-escrituras de la misma idea: CRUDL agrega List como operación distinta del Read de un solo registro; BREAD lo deletrea Browse, Read, Edit, Add, Delete. Reconocen la verdad práctica de que listar colecciones — con filtrado y paginación — es una operación propia con sus propias decisiones de diseño, no solo "leer, en plural".

Términos relacionados

Compara con

Lecturas recomendadas

¿Listo para construir tu backend?

Empieza tu proyecto en Back4app en minutos — base de datos, autenticación, APIs y Cloud Code incluidos. Sin tarjeta de crédito.

Escrito y revisado por Back4app Engineering, Back4app Engineering · Publicado el 2026-08-28