在 Neo4j 中,DELETE
語句用于刪除節點、關系或節點屬性。它允許從圖數據庫中移除不再需要的數據。
1】刪除節點及其關系:
MATCH (p:Person {name: 'Alice'})
DETACH DELETE p;
這個查詢會找到具有 "Person" 標簽且屬性 "name" 為 "Alice" 的節點,然后刪除該節點以及與之關聯的所有關系。
2】刪除特定類型的關系:
MATCH (a:Person)-[r:FRIEND]->(b:Person)
WHERE a.name = 'Alice' AND b.name = 'Bob'
DELETE r;
這個查詢會找到由 "FRIEND" 關系連接的名為 "Alice" 和 "Bob" 的節點組成的模式,然后刪除這些關系。
3】刪除節點的特定屬性:
MATCH (p:Person {name: 'John'})
REMOVE p.age;
這個查詢會找到具有 "Person" 標簽且屬性 "name" 為 "John" 的節點,并刪除其 "age" 屬性。
4】刪除整個圖模式:
MATCH (p:Person)-[r]->()
WHERE p.age > 60
DELETE p, r;
這個查詢會找到年齡大于 60 的所有節點,以及與之關聯的所有關系,然后刪除這些節點和關系。
5】刪除所有節點和關系:
MATCH (n)
DETACH DELETE n;
這個查詢會刪除圖數據庫中的所有節點和與之關聯的關系。
DELETE
語句是一個重要的操作,可以清理不再需要的數據,保持數據庫的整潔性和性能。但要謹慎使用,確保了解數據的結構和關系,避免誤刪除重要信息。