CQL簡介
Cypher語言是Neo4j轉(zhuǎn)為圖形數(shù)據(jù)處理而設(shè)計(jì)的, 類似于mysql的sql語句
常用命令
| CQL命令 | 用途 |
|---|---|
| CREATE | 創(chuàng)建節(jié)點(diǎn)/關(guān)系/屬性 |
| MATCH | 檢索有人節(jié)點(diǎn), 關(guān)系和屬性數(shù)據(jù) |
| RETURN | 返回查詢結(jié)果 |
| WHERE | 提供條件過濾檢索數(shù)據(jù) |
| DELETE | 刪除節(jié)點(diǎn)和關(guān)系 |
| REMOVE | 刪除節(jié)點(diǎn)和關(guān)系的屬性 |
| ORDER BY | 排序 |
| SET | 添加或者更新標(biāo)簽 |
我們可以在管理平臺頂部輸入CQL命令, 然后點(diǎn)擊后側(cè)的箭頭或者回車進(jìn)行執(zhí)行

下面就來介紹下CQL常用的一些命令:
CREATE命令
- 創(chuàng)建沒有屬性的節(jié)點(diǎn)
- 使用屬性創(chuàng)建節(jié)點(diǎn)
- 在沒有屬性的節(jié)點(diǎn)之間創(chuàng)建關(guān)系
- 使用屬性創(chuàng)建節(jié)點(diǎn)之間的關(guān)系
- 為節(jié)點(diǎn)或者關(guān)系創(chuàng)建單個(gè)或多個(gè)標(biāo)簽
語法:
CREATE (<node-name>:<lable-name>)
| 語法元素 | 描述 |
|---|---|
| CREATE | 創(chuàng)建命令 |
| <node-name> | 節(jié)點(diǎn)名稱 |
| <lable-name> | 節(jié)點(diǎn)標(biāo)簽名稱 |
例: 我們創(chuàng)建一個(gè)zhangsan的節(jié)點(diǎn), 他的標(biāo)簽為student, 語句如下
create (zhangsan:student)
此時(shí)看到頁面上顯示已經(jīng)添加了一個(gè)標(biāo)簽, 創(chuàng)建了一個(gè)節(jié)點(diǎn)

再點(diǎn)擊左側(cè)的數(shù)據(jù)庫的圖標(biāo), 點(diǎn)擊student, 這個(gè)節(jié)點(diǎn)就會以圖形化的方式展示出來, 如下圖:

MATCH命令
- 從數(shù)據(jù)庫獲取有關(guān)節(jié)點(diǎn)和屬性的數(shù)據(jù)
- 從數(shù)據(jù)庫獲取有關(guān)節(jié)點(diǎn), 關(guān)系和屬性的數(shù)據(jù)
語法
MATCH (<node-name>:<lable-name>)
| 語法元素 | 描述 |
|---|---|
| <node-name> | 節(jié)點(diǎn)名稱 |
| <lable-name> | 節(jié)點(diǎn)標(biāo)簽名稱 |
實(shí)例: 我們查詢剛剛創(chuàng)建的節(jié)點(diǎn)
match (zhangsan:student)
此時(shí)會報(bào)如下錯(cuò)誤

match不能單獨(dú)使用, 需要在語句后面加上 return
match (zhangsan:student) return zhangsan
此時(shí)這個(gè)節(jié)點(diǎn)就被查詢出來了

RETURN 命令
- 檢索節(jié)點(diǎn)的某些屬性
- 檢索節(jié)點(diǎn)的所有屬性
- 檢索節(jié)點(diǎn)和關(guān)聯(lián)關(guān)系的某些屬性
- 檢索節(jié)點(diǎn)和關(guān)聯(lián)關(guān)系的所有屬性
語法
RETURN
<node-name>.<property1-name>
<node-name>.<property2-name>
.......
<node-name>.<propertyn-name>
| 語法元素 | 描述 |
|---|---|
| <node-name> | 節(jié)點(diǎn)名稱 |
| <node-name>.<property1-name> | 屬性(類似于mysql中查詢表中的某個(gè)字段, 多個(gè)就是多個(gè)字段) |
示例:
match (n:Student) return n.name
n是Student標(biāo)簽的別名, 我們要查詢Student標(biāo)簽下所有節(jié)點(diǎn)的name屬性, 此時(shí)這個(gè)節(jié)點(diǎn)是沒有屬性的, 所以查詢不到任何數(shù)據(jù)
RETURN就類似于sql中的SELECT來表示要查詢那些字段(屬性)
下面創(chuàng)建一個(gè)帶有屬性的節(jié)點(diǎn), 比如一個(gè)學(xué)生:
create (s:student {id: "1", name:"zhangsan", age:"18"})

在創(chuàng)建一個(gè)書籍的節(jié)點(diǎn):
create (b:Book {id:"123", name:"neo4j入門", price:"15.5"})

此時(shí)再進(jìn)行查詢就能查到zhangsan這個(gè)節(jié)點(diǎn)
match (n:student) return n.name,n.age

總結(jié)一下: CREATE就是創(chuàng)建節(jié)點(diǎn)的命令, 可以創(chuàng)建對應(yīng)的屬性, 類似于mysql中的字段, MATCH類似于mysq中的select, RETURN就是要查詢哪些屬性, 類似于mysql中要查詢哪些字段。