Neo4j CQL 簡單增刪改查命令

1.CQL簡介

CQL代表Cypher查詢語言,是neo4j的查詢語言。像Oracle數據庫有查詢語言SQL。
CQL:
    它是Neo4j圖形數據庫的查詢語言。
    它是一種聲明性模式匹配語言
    它遵循SQL語法。
    它的語法是非常簡單且人性化、可讀的格式。

Neo4j CQL
支持多個子句像在哪裏,順序等,以非常簡單的方式編寫非常複雜的查詢。
支持一些功能,如字符串,Aggregation等函數,它還支持一些關係功能。

1.1Neo4j CQL命令

在這裏插入圖片描述

1.2Neo4j CQL 函數

在這裏插入圖片描述

1.3Neo4j CQL數據類型

在這裏插入圖片描述

2.Create創建命令:

功能:
創建沒有屬性的節點
使用屬性創建節點
在沒有屬性的節點之間創建關係
使用屬性創建節點之間的關係
爲節點或關係創建單個或多個標籤

2.1創建一個沒有屬性的節點

語法 :

 CREATE (<node-name>:<label-name>)

eg:CREATE (emp:Employee)
emp是一個節點名,Employee是節點emp的標籤名
下圖爲創建成功
在這裏插入圖片描述

2.2創建具有屬性的節點

語法:

CREATE (
   <node-name>:<label-name>
   { 	
      <Property1-name>:<Property1-Value>
      ........
      <Propertyn-name>:<Propertyn-Value>
   }
)

eg:create (n:Person{name:“steve”,age:25})
n爲節點名,Person爲節點的標籤名,name、age是屬性名,屬性的值是“steve”、25。
注意 - 要定義字符串類型屬性值,我們需要使用單引號或雙引號。
下圖創建Person節點
在這裏插入圖片描述

2.3創建標籤

Label是Neo4j數據庫中的節點或關係的名稱或標識符。
create 可以爲節點創建一個或多個標籤、爲關係創建單個標籤

2.3.1創建單個標籤

CREATE (<node-name>:<label-name>)

eg:CREATE (google1:GooglePlusProfile)
google1是節點名,GooglePlusProfile是google1節點的標籤名

2.3.2創建多個標籤

CREATE (<node-name>:<label-name1>:<label-name2>.....:<label-namen>)

使用 “:”運算符來分隔節點名和標籤名,分隔多個標籤名
eg:CREATE (m:Movie:Cinema:Film:Picture)
上面例子爲節點m創建多個標籤名,Movie、Cinema、Film、Picture是節點的多個標籤名稱。

2.3.3創建單個關係標籤

CREATE (<node1-name>:<label1-name>)-
	[(<relationship-name>:<relationship-label-name>)]
	->(<node2-name>:<label2-name>)

eg:CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)
這裏 p1和Profile1是節點名稱和節點標籤名稱 ,p1是From Node
p2和Profile2 是To Node的節點名稱和節點標籤名稱
r1是關係名稱 ,LIKES是關係的標籤名稱

3.MATCH命令

功能:
從數據庫獲取有關節點和屬性的數據
從數據庫獲取有關節點,關係和屬性的數據

3.1Return命令作用:

檢索節點的某些屬性
檢索節點的所有屬性
檢索節點和關聯關係的某些屬性
檢索節點和關聯關係的所有屬性
單獨使用MATCH和RETURN會報語法錯誤。正確的使用方法是合併這兩個命令

MATCH RETURN命令語法:

MATCH Command
RETURN Command

eg:MATCH (n:Employee) RETURN n.name,n.deptno,n.sal
上面n爲節點名稱,Employee爲節點標籤名,name、deptno、sal爲節點的屬性名
運行結果圖如下:
在這裏插入圖片描述

3.2Neo4j 關係基礎

屬性圖模型的關係是定向的Noe4j主要有兩種類型。 單向關係、雙向關係。
在這裏插入圖片描述
如上圖所示:這裏的關係是從客戶–>信用卡的, Neo4jCQL使用類是類箭頭的標記創建兩個節點之間的關係,每個關係包含兩個節點:從節點、到節點。Customer是從節點,CreaditCard是到節點。
節點有兩種關係:外向關係、傳入關係。上圖關係是到客戶節點的“外向關係”,並且相同的關係是到信用卡節點的“到達關係”

4. delete刪除

4.1功能簡介

DELETE子句用來 刪除節點和刪除節點及相關節點和關係,通過使用此命令,我們可以從數據庫永久刪除節點及其關聯的屬性。

4.2刪除節點子句

DELETE <node-name-list>

可以使用逗號”,“來分隔節點名,從而刪除多個節點。
下面是刪除Employee節點,此操作爲永久刪除數據
MATCH (e: Employee) DELETE e

4.3DELETE節點和關係子句語法

DELETE <node1-name>,<node2-name>,<relationship-name>

eg:
MATCH (cc: CreditCard)-[rel]-(c:Customer)
DELETE cc,c,rel
用逗號(,)來分隔節點名稱和關係名稱。

5.REMOVE刪除

5.1功能簡介

從數據庫中永久刪除節點或關係的屬性或屬性列表
刪除節點或關係的標籤
刪除節點或關係的屬性

5.2 delete和remove命令之間的區別

delete刪除節點和關聯關係。
remove刪除標籤和屬性。
相似之處
這個兩個命令不能單獨使用
應該與match命令一起使用
REMOVE子句語法

REMOVE <property-name-list>

eg:match (n:Person) where n.name=“Mike” remove n.title
或 match (n:Person{name:‘Mike’}) remove n.title
上面是刪除節點的屬性,接下來說下刪除節點/關係的標籤
REMOVE //節點列表名用逗號分隔

eg:MATCH (m:Movie) REMOVE m:Picture
此命令刪除了m節點的Picture標籤

6.SET子句

向現有節點或關係添加新屬性,添加或更新屬性值
SET子句語法:

SET  <property-name-list> //屬性列表用逗號分隔

eg: match (n:Person) where n.name=‘Mike’ set n.age=20
名字爲Mike的節點,添加或修改其age值爲20

參考:
https://www.w3cschool.cn/neo4j/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章