Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Neo4j - Xóa mối quan hệ bằng Cypher

Bạn có thể xóa các mối quan hệ giống như cách xóa các nút - bằng cách khớp / các mối quan hệ mà bạn muốn xóa.

Bạn có thể xóa một hoặc nhiều mối quan hệ trong một lần. Bạn thậm chí có thể xóa tất cả các mối quan hệ trong cơ sở dữ liệu.

Đầu tiên, như một công cụ làm mới bộ nhớ, đây là các mối quan hệ mà chúng tôi đã tạo trước đó:

Hãy xóa mối quan hệ thuộc loại RELEASED .

Có một số cách chúng ta có thể làm về vấn đề này. Hãy xem ba.

Câu lệnh sau khá rộng - nó sẽ xóa tất cả các mối quan hệ thuộc loại RELEASED :

MATCH ()-[r:RELEASED]-() 
DELETE r

Bạn cũng có thể cụ thể hơn và viết một cái gì đó như sau:

MATCH (:Artist)-[r:RELEASED]-(:Album) 
DELETE r

Tuyên bố trên sẽ phù hợp với tất cả Nghệ sĩ các nút có kiểu quan hệ RELEASED với một Anbom nút.

Bạn thậm chí có thể cụ thể hơn và làm điều gì đó như sau:

MATCH (:Artist {Name: "Strapping Young Lad"})-[r:RELEASED]-(:Album {Name: "Heavy as a Really Heavy Thing"}) 
DELETE r

Bất kỳ tuyên bố nào trong số đó sẽ dẫn đến RELEASED mối quan hệ đang bị xóa. Biểu đồ sẽ như thế này:

Xóa các nút có mối quan hệ được đính kèm

Không thể xóa các nút nếu chúng vẫn còn các mối quan hệ gắn liền với chúng.

Nếu chúng tôi cố gắng chạy câu lệnh sau:

MATCH (a:Artist {Name: "Strapping Young Lad"}) DELETE a

Chúng tôi sẽ gặp lỗi sau:

Điều này là do nút đó có một mối quan hệ được kết nối.

Một tùy chọn là xóa tất cả các mối quan hệ, sau đó xóa nút.

Một tùy chọn khác là sử dụng DETACH DELETE mệnh đề. DETACH DELETE mệnh đề cho phép bạn xóa một nút và tất cả các mối quan hệ được kết nối với nó.

Vì vậy, chúng tôi có thể thay đổi trạng thái trên thành sau:

MATCH (a:Artist {Name: "Strapping Young Lad"}) DETACH DELETE a

Chạy câu lệnh đó sẽ dẫn đến thông báo thành công sau:

Xóa toàn bộ cơ sở dữ liệu

Bạn có thể thực hiện DETACH DELETE xa hơn một bước và xóa toàn bộ cơ sở dữ liệu.

Chỉ cần loại bỏ bất kỳ tiêu chí lọc nào và nó sẽ xóa tất cả các nút và tất cả các mối quan hệ.

Hãy tiếp tục và thực hiện câu lệnh sau:

MATCH (n) DETACH DELETE n

Chúng tôi không còn bất kỳ dữ liệu nào trong cơ sở dữ liệu nữa ... vì vậy tôi đoán đó là phần cuối của hướng dẫn :)

Nếu bạn muốn tìm hiểu thêm về cách làm việc với Neo4j, hãy xem tài liệu chính thức của Neo4j.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tìm và thay thế văn bản trong cơ sở dữ liệu MySQL bằng SQL

  2. Hướng dẫn thiết kế cơ sở dữ liệu cho hệ thống quản lý nhân viên trong MySQL

  3. Cách trả về các hàng có cùng giá trị cột trong MySql

  4. Trợ giúp về trường hợp cập nhật MySQL

  5. Cách kết nối với cơ sở dữ liệu MySQL