För att ta bort noder och relationer med Cypher, använd DELETE
klausul.
DELETE
satsen används inom MATCH
uttalande för att radera all data som matchades.
Så, DELETE
satsen används på samma ställe som vi använde RETURN
klausul i våra tidigare exempel.
Exempel
Följande uttalande tar bort albumet nod som heter Killers :
MATCH (a:Album {Name: "Killers"}) DELETE a
Det är en bra idé att kontrollera att du är på väg att radera rätt data innan du faktiskt tar bort den.
För att göra detta, konstruera ditt uttalande med en RETURN
klausul först och kör den sedan. Detta gör att du kan kontrollera om du ska radera rätt data eller inte. När du är nöjd med att du matchar rätt data byter du bara RETURN
sats till en DELETE
klausul.
Ta bort flera noder
Du kan också ta bort flera noder på en gång. Konstruera helt enkelt din MATCH
uttalande för att inkludera alla noder som du vill ta bort.
MATCH (a:Artist {Name: "Iron Maiden"}), (b:Album {Name: "Powerslave"}) DELETE a, b
Ta bort alla noder
Du kan ta bort alla noder från databasen genom att helt enkelt utelämna eventuella filtreringskriterier. Precis som när vi valde alla noder från databasen kan du ta bort dem också.
MATCH (n) DELETE n
Ta bort noder med relationer
Det finns en liten hake med raderingsnoder. Och det vill säga, du kan bara ta bort noder om de inte har några relationer. Med andra ord måste du ta bort alla relationer innan du tar bort själva noden.
Om du försöker utföra ovanstående DELETE
uttalande på noder som har relationer, kommer du att se ett felmeddelande så här:
![](http://www.sqldat.com/article/uploadfiles/202205/2022051111575725.png)
Det här felmeddelandet talar om för oss att vi måste ta bort alla relationer innan vi tar bort noden.
Lyckligtvis finns det ett snabbt och enkelt sätt att göra det. Vi tar upp det härnäst när vi tar bort relationer.