In informatica, create, read, update, e delete (CRUD) – in italiano, creazione, lettura, aggiornamento e rimozione – sono le quattro operazioni basilari della gestione persistente dei dati. La popolarità del termine deriva dal libro del 1983 Managing the Data-base environment dell'informatico James Martin.
I dati possono trovarsi in una certa area del meccanismo di archiviazione.
Le quattro operazioni basilari per permettere queste attività sono le cosiddette CRUD: Create (creazione), Read (lettura), Update (aggiornamento), e Delete (rimozione).
L'acronimo CRUD si riferisce alle principali operazioni implementate nei database. Ogni lettera dell'acronimo può essere mappata in un'istruzione SQL standard:
| CRUD | SQL |
|---|---|
| Create | INSERT |
| Read | SELECT |
| Update | UPDATE |
| Delete | DELETE |
Oltre ai database relazionali, anche altre tecnologie possono essere usate come livello di persistenza in un'applicazione software. Le funzionalità CRUD possono essere implementate, per esempio, con basi di dati document-oriented, object-oriented, XML, testuali o file binari.
Nota: alcuni sistemi di big data non implementano la funzionalità UPDATE, ma per l'inserimento dei dati forniscono solo un'INSERT a cui è associato un timestamp e salvano una versione dell'"oggetto" completamente nuova ad ogni aggiornamento.
L'acronimo CRUD è usato anche in relazione alle API RESTful. Ogni lettera dell'acronimo è associata ad un metodo HTTP:
| CRUD | HTTP |
|---|---|
| Create | POST |
| Read | GET |
| Update | PUT |
| Delete | DELETE |
Nel protocollo HTTP, i metodi GET (lettura), POST (creazione), PUT (aggiornamento) e DELETE (rimozione) sono considerate operazioni CRUD in quanto aventi una precisa semantica relativa alla gestione dell'archiviazione dei dati. Esse permettono infatti allo user agent di manipolare direttamente lo stato della risorsa Web d'interesse. La semantica del metodo POST, d'altro canto, non corrisponde ad alcuna semantica delle operazioni CRUD.
Tra alternative a CRUD, solitamente usate per scopi specifici, troviamo: