Mysql
 sql >> Database >  >> RDS >> Mysql

Neo4j - Elimina un nodo usando Cypher

Per eliminare nodi e relazioni utilizzando Cypher, utilizzare DELETE clausola.

Il DELETE viene utilizzata all'interno di MATCH istruzione per eliminare tutti i dati corrispondenti.

Quindi, il DELETE La clausola è usata nello stesso punto in cui abbiamo usato il RETURN clausola nei nostri esempi precedenti.

Esempio

La seguente istruzione elimina l'Album nodo chiamato Killer :

MATCH (a:Album {Name: "Killers"}) DELETE a

È una buona idea controllare che stai per eliminare i dati corretti prima di eliminarli effettivamente.

Per fare ciò, costruisci la tua dichiarazione con un RETURN prima la clausola, quindi eseguirla. Ciò ti consente di verificare se intendi eliminare i dati corretti o meno. Una volta che sei soddisfatto della corrispondenza dei dati corretti, cambia semplicemente il RETURN clausola in un DELETE clausola.

Eliminazione di più nodi

Puoi anche eliminare più nodi in una volta sola. Crea semplicemente il tuo MATCH istruzione per includere tutti i nodi che desideri eliminare.

MATCH (a:Artist {Name: "Iron Maiden"}), (b:Album {Name: "Powerslave"}) 
DELETE a, b

Eliminazione di tutti i nodi

È possibile eliminare tutti i nodi dal database semplicemente omettendo qualsiasi criterio di filtro. Proprio come quando abbiamo selezionato tutti i nodi dal database, puoi eliminarli anche tu.

MATCH (n) DELETE n

Eliminazione di nodi con relazioni

C'è un piccolo problema con l'eliminazione dei nodi. E cioè, puoi eliminare i nodi solo se non hanno alcuna relazione. In altre parole, devi eliminare tutte le relazioni prima di eliminare il nodo stesso.

Se provi a eseguire il DELETE sopra istruzione sui nodi che hanno relazioni, vedrai un messaggio di errore come questo:

Questo messaggio di errore ci dice che dobbiamo eliminare tutte le relazioni prima di eliminare il nodo.

Fortunatamente, c'è un modo semplice e veloce per farlo. Lo tratteremo in seguito nell'eliminazione delle relazioni.