neo4j的CQL命令實例演示

天行健,君子以自強不息;地勢坤,君子以厚德載物。


每個人都有惰性,但不斷學習是好好生活的根本,共勉!


文章均為學習整理筆記,分享記錄為主,如有錯誤請指正,共同學習進步。

CQL命令實例演示

  • 一、縮寫
  • 二、Node節點操作
    • 1. 創建節點
    • 2. 查詢節點
      • 2.1 查詢全部節點
      • 2.2 查詢指定標簽的節點
      • 2.3 查詢指定標簽指定屬性的節點
    • 3. 修改節點
    • 4. 刪除節點
      • 4.1 刪除指定標簽指定屬性的節點
      • 4.2 刪除指定標簽節點
      • 4.3 刪除全部節點
      • 4.4 永久刪除
  • 三、Relationship關系操作
    • 1. 創建關系
    • 2. 查詢關系
      • 2.1 查詢所有的關系
      • 2.2 條件查詢關系
      • 2.3 條件查詢關系-where
      • 2.4 查詢指定兩個節點的關系
    • 3. 修改關系
      • 3.1 批量修改關系信息
      • 3.2 修改指定兩個節點的關系
      • 3.3 指定開始節點來修改關系信息
      • 3.4 指定結束節點來修改關系信息
    • 4. 刪除關系
      • 4.1 批量刪除指定標簽的所有關系
      • 4.2 刪除指定標簽指定屬性為開始節點的所有關系
      • 4.3 刪除指定標簽指定屬性為結束節點的所有關系
      • 4.5 刪除指定標簽指定屬性的兩個節點的所有關系
      • 4.2 刪除指定標簽為開始節點的所有關系
      • 4.1 批量刪除所有關系


一、縮寫

n :node節點
L :Label標簽
p :屬性名
v :屬性值
r :關系
R :關系標簽

屬性值為字符串或者數字,其余好像會報錯,目前嘗試這兩個類型不會報錯
文章中的語法的縮寫字母并非固定,可以任意字母更換,但推薦使用對應縮寫,方便理解和記憶。


二、Node節點操作

對node節點的增刪改查操作

1. 創建節點

create新增,語法

create(n:L{p1:v1,p2:v2}) return n

花括號中節點的屬性可以是一個也可以是多個
不定義屬性時屬性值為空,僅有一個id默認屬性
如:創建u節點,標簽為USER,屬性name值為李白,屬性age為28,并返回創建的節點

create(u:USER{name:"李白",age:28}) return u

在這里插入圖片描述
為了后面的演示,我們這里多創建幾個,依次執行以下命令

	//注意,age對應的值都是數字類型create(u:USER{name:"王昭君",age:24})create(u:USER{name:"貂蟬",age:20})create(u:USER{name:"呂布",age:26})//注意,price對應的值都是字符串類型create(c:CAR{name:"奔馳",price:"30"})create(c:CAR{name:"寶馬",price:"29"})create(c:CAR{name:"奧迪",price:"33"})create(c:CAR{name:"比亞迪",price:"25"})

注:這里需要注意,在創建節點時,屬性name的值會顯示在查看時的節點中心,如果屬性名不是name可能不會顯示(不一定),我用userName作為屬性名它是不顯示的,這點需要注意,不過不影響使用,信息都會在節點中,只是看瀏覽器中節點中心沒有名稱了而已

2. 查詢節點

match查詢

2.1 查詢全部節點

語法(括號可以省略)

match(n) return(n)
//或
match(n) return n

在瀏覽器中輸入上述命令查詢所有節點
在這里插入圖片描述

2.2 查詢指定標簽的節點

語法

match(n:L)

如:查看CAR標簽的所有節點

match(c:CAR)return c

這里只會顯示CAR標簽的節點
在這里插入圖片描述

2.3 查詢指定標簽指定屬性的節點

語法

match(n:L{p1:v1,p2:v2})

如:查看標簽為CAR屬性名為name值為寶馬的節點

match(c:CAR{name:"奧迪"})

在這里插入圖片描述

3. 修改節點

set修改,但需要配合match搜索使用,語法

match(n:L{p1:v1,p2:v2})set n.p1=v11,n.p2=v22

如修改標簽為CAR屬性name值為奧迪的節點,將其屬性price的值改為40

match(c:CAR{name:"奧迪"})set c.price=40

不適用return時返回的是一行描述信息
在這里插入圖片描述

match(c:CAR{name:"奧迪"})set c.price=41 return c

加上return返回的內容就是如數據了,如下
在這里插入圖片描述

4. 刪除節點

delete刪除,如果節點存在關系,則無法使用delete刪除,此時需要在delete前加上detach關鍵字強制刪除
(為了不重新創建關系,刪除節點部分是在刪除關系后操作的,屬于整篇文章最后演示的內容)
先查看全部節點

match(n)return n

在這里插入圖片描述

4.1 刪除指定標簽指定屬性的節點

語法

match(n:L{p1:v1,p2:v2})delete n

如:刪除標簽為CAR屬性name為寶馬的節點

match(c:CAR{name:"寶馬"}) delete c

在這里插入圖片描述
查看全部節點驗證

match(n)return n

寶馬已被刪除
在這里插入圖片描述

4.2 刪除指定標簽節點

語法

match(n:L) delete n

如刪除標簽為CAR的所有節點

match(c:CAR) delete c

在這里插入圖片描述
查看全部節點驗證

match(n)return n

CAR標簽的節點已全被刪除
在這里插入圖片描述

4.3 刪除全部節點

語法

match(n) delete n

在這里插入圖片描述

查看全部節點驗證

match(n)return n

所有節點已全被刪除
在這里插入圖片描述

4.4 永久刪除

如果節點包含關系,則無法直接使用delete刪除,需要使用detach配置delete強制刪除
使用detach可以實現永久刪除數據,語法

match(n) detach delete n

三、Relationship關系操作

我們先多創建兩個USER節點

    create(u:USER{name:"亞瑟",age:27})create(u:USER{name:"安其拉",age:22})

再多創建幾個CAR節點

    create(c:CAR{name:"小鵬",price:"28"})create(c:CAR{name:"蔚來",price:"24"})create(c:CAR{name:"極氪",price:"30"})create(c:CAR{name:"智己",price:"31"})

1. 創建關系

創建兩個節點之間的關系,并給關系添加屬性信息,添加后返回節點和關系的圖數據結果,語法

match(n1:L1{p1:v1,p2:v2}),(n2:L2{p11:v11}) create(n1)-[r:R{p111:v111}]->(n2) return n1,r,n2

如在標簽為USER屬性name為李白的節點和標簽為CAR屬性name為寶馬的節點之間創建關系
關系標簽為BUY標簽屬性date值為20230728,然后返回創建后的結果

match(u:USER{name:"李白"}),(c:CAR{name:"寶馬"}) create (u)-[r:BUY{date:"20230728"}]->(c) return u,r,c

在這里插入圖片描述
當然了,也可以將箭頭反過來,創建關系標簽為BELONG屬性expire值為100

match(u:USER{name:"李白"}),(c:CAR{name:"寶馬"}) create (u)<-[r:BELONG{expire:"100"}]-(c) return u,r,c

在這里插入圖片描述
為了方便后續演示,這里我們多創建幾個關系

    match(u:USER{name:"李白"}),(c:CAR{name:"奧迪"}) create (u)-[r:BUY{date:"20230728"}]->(c) return u,r,cmatch(u:USER{name:"李白"}),(c:CAR{name:"奧迪"}) create (u)<-[r:BELONG{expire:"200"}]-(c) return u,r,cmatch(u:USER{name:"亞瑟"}),(c:CAR{name:"比亞迪"})create (u)-[r:BUY{date:"20230729"}]->(c) return u,r,cmatch(u:USER{name:"貂蟬"}),(c:CAR{name:"智己"})create (u)-[r:BUY{date:"20230830"}]->(c) return u,r,cmatch(u:USER{name:"安其拉"}),(c:CAR{name:"小鵬"})create (u)-[r:BUY{date:"20230720"}]->(c) return u,r,cmatch(u:USER{name:"王昭君"}),(c:CAR{name:"極氪"})create (u)-[r:BUY{date:"20230930"}]->(c) return u,r,cmatch(u:USER{name:"呂布"}),(c:CAR{name:"奔馳"})create (u)-[r:BUY{date:"20230930"}]->(c) return u,r,c

2. 查詢關系

同樣的查詢關系也是用match

2.1 查詢所有的關系

語法

match(n1)-[r]->(n2)return n1,r,n2

這里好像有沒有箭頭都可以,>可省略
如查詢所有節點的關系

match(u)-[r]->(c) return u,r,c

只會查看所有帶關系的數據,不存在關系的數據不在其中
在這里插入圖片描述
如果return后不加節點只有關系參數r,則返回的是json格式的數據信息

match(u)-[r]->(c) return r

在這里插入圖片描述

2.2 條件查詢關系

查詢n1節點屬性p1、p2對應的所有關系,語法

match(n1:L1{p1:v1,p2:v2})-[r]->(n2) return n1,r,n2

如:查看USER標簽的屬性name為李白的節點的所有關系

match(u:USER{name:"李白"})-[r]->(c)return u,r,c

在這里插入圖片描述

2.3 條件查詢關系-where

使用where子句查詢屬性p1值為v1屬性p2值為v2的n1節點的所有關系

match(n1)-[r]->(n2) where n1.p1=v1 and n1.p2=v2 return n1,r,n2

如:查看USER標簽的屬性name為李白的節點的所有關系

match(u)-[r]-(c) where u.name="李白" return u,r,c

在這里插入圖片描述

2.4 查詢指定兩個節點的關系

語法

match(n1:L1{p1:v1})-[r]->(n2:L2{p2:v2})return n1,r,n2

如查看USER標簽的屬性name為李白的節點和CAR標簽屬性name為寶馬的所有關系

match(u:USER{name:"李白"})-[r]->(c:CAR{name:"寶馬"})return u,r,c

在這里插入圖片描述
或者(where子句查詢)

match(u)-[r]-(c) where u.name="李白" and c.name="寶馬" return u,r,c

在這里插入圖片描述

3. 修改關系

3.1 批量修改關系信息

修改指定關系標簽的指定屬性信息
將標簽為R的所有關系屬性pr1改為vr1,并返回修改后的圖數據,語法

match(n1)-[r]-(n2) set r.pr1 = vr1 return n1,r,n2
//或
match(n1)-[r:R]-(n2) set r.pr1 = vr1 return n1,r,n2

如:將所有關系標簽為BELONG的屬性expire的值改為200

match(u)-[r:BELONG]-(c) set r.expire=200 return u,r,c

我們可以看到只有李白有BELONG關系,且這兩個關系的屬性expire都改為了200
在這里插入圖片描述

3.2 修改指定兩個節點的關系

修改兩個指定節點的指定關系標簽的關系屬性信息,語法

match(n1:L1{p1:v1})-[r]->(n2:L2{p2:v2}) set r.pr1=vr1 return n1,r,n2
//或
match(n1:L1{p1:v1})-[r:R]->(n2:L2{p2:v2}) set r.pr1=vr1 return n1,r,n2

如:修改李白和奧迪兩個節點的BUY關系的屬性,將date的值改為20230808

match(u:USER{name:"李白"})-[r:BUY]->(c:CAR{name:"奧迪"}) set r.date="20230808" return u,r,c

在這里插入圖片描述

3.3 指定開始節點來修改關系信息

match(n1:L1{p1:v1})-[r:R]->(n2) set r.pr1=vr1  return n1,r,n2

如:指定李白為開始節點,根據開始節點修改李白對應的BUY標簽關系的信息,將date屬性值都改為20230909

match(u:USER{name:"李白"})-[r:BUY]->(c) set r.date="20230909" return u,r,c

在這里插入圖片描述

3.4 指定結束節點來修改關系信息

箭頭可指向右側也可指向左側

match(n1:L1{p1:v1})<-[r:R]-(n2) set r.pr1=vr1  return n1,r,n2

如:指定李白為結束節點,根據結束節點修改李白對應的BELONG標簽關系的信息,將expire屬性值都改為500

match(u:USER{name:"李白"})<-[r:BELONG]-(c) set r.expire="500" return u,r,c

在這里插入圖片描述

4. 刪除關系

4.1 批量刪除指定標簽的所有關系

語法

match(n1)-[r:R]->(n2) delete r

如:刪除BELONG標簽的所有關系

match(u)-[r:BELONG]->(c) delete r

在這里插入圖片描述
查看所有關系,看是否被刪除

match(u)-[r]->(c)return u,r,c

的確刪除了
在這里插入圖片描述

4.2 刪除指定標簽指定屬性為開始節點的所有關系

語法

match(n1:L1{p1:v1})-[r]->(n2) delete r

如:刪除以李白為開始節點的所有關系

match(u:USER{name:"李白"})-[r]->(c) delete r

在這里插入圖片描述
查看所有關系,看是否被刪除

match(u)-[r]->(c)return u,r,c

沒有看到李白的節點,表示已經沒有存在的關系了
在這里插入圖片描述

4.3 刪除指定標簽指定屬性為結束節點的所有關系

語法

match(n1:L1{p1:v1})<-[r]-(n2) delete r

如:刪除以比亞迪為結束節點的所有關系

match(c:CAR{name:"比亞迪"})<-[r]-(u) delete r

在這里插入圖片描述
查看所有關系,看是否被刪除

match(u)-[r]->(c)return u,r,c

已經沒有了比亞迪節點的關系
在這里插入圖片描述

4.5 刪除指定標簽指定屬性的兩個節點的所有關系

語法

match(n1:L1{p1:v1})-[r]-(n2:L2{p2:v2}) delete r

如:刪除安其拉到小鵬之間的關系

match(u:USER{name:"安其拉"})-[r]->(c:CAR{name:"小鵬"}) delete r

在這里插入圖片描述
查看所有關系,看是否被刪除

match(u)-[r]->(c)return u,r,c

安其拉已經無了
在這里插入圖片描述

4.2 刪除指定標簽為開始節點的所有關系

語法

match(n1:L1)-[r]->(n2) delete r

如:刪除以USER標簽為開始節點的所有關系

match(u:USER)-[r]->(c) delete r

在這里插入圖片描述
查看所有關系,看是否被刪除

match(u)-[r]->(c)return u,r,c

含有關系的節點已經全部沒了
在這里插入圖片描述

4.1 批量刪除所有關系

語法

match(n1)-[r]->(n2) delete r

舉例,可直接使用
我這里直接用

match(u)-[r]->(c) delete r

前面已經刪除完了,不演示了。


以上就是CQL命令增刪改查演示內容,感謝閱讀,祝君暴富!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/34725.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/34725.shtml
英文地址,請注明出處:http://en.pswp.cn/news/34725.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

07-2_Qt 5.9 C++開發指南_二進制文件讀寫(stm和dat格式)

文章目錄 1. 實例功能概述2. Qt預定義編碼文件的讀寫2.1 保存為stm文件2.2 stm文件格式2.3 讀取stm文件 3. 標準編碼文件的讀寫3.1 保存為dat文件3.2 dat文件格式3.3 讀取dat文件 4. 框架及源碼4.1 可視化UI設計4.2 mainwindow.cpp 1. 實例功能概述 除了文本文件之外&#xff…

pve和openwrt以及我的電腦中網絡的關系和互通組網

情況1 一臺主機 有4個口&#xff0c;分別eth0,eth1,eth2,eth3 pve有管理口 這個情況下 &#xff0c;沒有openwrt 直接電腦和pve管理口連在一起就能進pve管理界面 情況2 假設pve 的管理口味eth0 openwrt中橋接的是eth0 eth1 eth2 那么電腦連接eth3或者pve管理口設置eth3&#xf…

【C#】設置有線網卡IP地址,子網掩碼,網關,DNS

方法 public partial class ComputerInfo{/// <summary>/// 設置IP地址&#xff0c;子網掩碼&#xff0c;網關&#xff0c;DNS/// </summary>public static List<NetworkAdapterInfo> SetIpAddressSubMaskDnsGeteway(string ipAddress, string subMask, stri…

MySQL庫的操作

文章目錄 MySQL庫的操作1. 創建數據庫2. 字符集和校驗規則(1) 查看系統默認字符集以及校驗規則(2) 查看數據庫支持的字符集和校驗規則(3) 案例(4) 校驗規則對數據庫的影響 3. 查看數據庫4. 修改數據庫5. 刪除數據庫6. 數據庫的備份和恢復(1) 備份(2) 還原 7. 查看連接情況 MySQ…

在 Windows 中恢復數據的 5 種方法

發生數據丟失的原因有多種。無論是因為文件被意外刪除、文件系統或操作系統損壞&#xff0c;還是由于軟件或硬件級別的存儲故障&#xff0c;數據都會在您最意想不到的時候丟失。今天我們重點介紹五種數據恢復方法&#xff0c;以應對意外情況的發生。 1.從另一臺機器啟動硬盤 如…

分享一組天氣組件

先看效果&#xff1a; CSS部分代碼&#xff08;查看更多&#xff09;&#xff1a; <style>:root {--bg-color: #E9F5FA;--day-text-color: #4DB0D3;/* 多云 */--cloudy-background: #4DB0D3;--cloudy-temperature: #E6DF95;--cloudy-content: #D3EBF4;/* 晴 */--sunny-b…

python基礎環境建設(pip、anaconda)

1.pip 配置文件路徑&#xff1a; centos&#xff1a;~/.pip/pip.conf windows: C:\Users\admin\AppData\Roaming\pip\pip.ini 文件內容&#xff1a; [global] index-url http://IP/repository/pypi-tsinghua/simple trusted-hostIP今天centos7.9、python3.6環境 pip install…

Https、CA證書、數字簽名

Https Http協議 Http協議是目前應用比較多應用層協議&#xff0c;瀏覽器對于Http協議已經實現。Http協議基本的構成部分有 請求行 &#xff1a; 請求報文的第一行請求頭 &#xff1a; 從第二行開始為請求頭內容的開始部分。每一個請求頭都是由K-V鍵值對組成。請求體&#xf…

【C++入門到精通】C++入門 —— vector (STL)

閱讀導航 前言一、vector簡介1. 概念2. 特點 二、vector的使用1.vector 構造函數2. vector 空間增長問題?resize 和 reserve 函數 3. vector 增刪查改?operator[] 函數 三、迭代器失效溫馨提示 前言 前面我們講了C語言的基礎知識&#xff0c;也了解了一些數據結構&#xff0…

軟件測試基礎篇——Docker

1、docker技術概述 docker描述&#xff1a;docker是一項虛擬化的容器技術&#xff08;類似于虛擬機&#xff09;&#xff0c;docker技術給使用者提供一個平臺&#xff0c;在該平臺上可以利用提供的容器&#xff0c;對每一個應用程序進行單獨的封裝隔離&#xff0c;每一個應用程…

spring 2.7.14 cors 設置 allowedOrigins(“*“)通配符 失效怎么解決

失效代碼&#xff1a; package com.yukuanyan.searcher_web.config;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebM…

計算機競賽 opencv python 深度學習垃圾圖像分類系統

0 前言 &#x1f525; 優質競賽項目系列&#xff0c;今天要分享的是 &#x1f6a9; opencv python 深度學習垃圾分類系統 &#x1f947;學長這里給一個題目綜合評分(每項滿分5分) 難度系數&#xff1a;3分工作量&#xff1a;3分創新點&#xff1a;4分 這是一個較為新穎的競…

圖像的伽馬變換

伽馬變換&#xff08;Gamma Correction&#xff09;是一種在圖像處理中常用的非線性變換方法&#xff0c;用于調整圖像的亮度和對比度。它在圖像的像素值上應用一個冪次函數&#xff0c;以改變圖像的灰度級分布&#xff0c;從而影響圖像的感知亮度。伽馬變換通常用于糾正顯示器…

Monkey測試真的靠譜嗎?

Monkey測試&#xff0c;顧名思義&#xff0c;就是模擬一只猴子在鍵盤上亂敲&#xff0c;從而達到測試被測系統的穩定性。Monkey測試&#xff0c;是Android自動化測試的一種手段&#xff0c;Monkey測試本身非常簡單&#xff0c;Android SDK 工具支持adb Shell命令&#xff0c;實…

208、仿真-51單片機脈搏心率與心電報警Proteus仿真設計(程序+Proteus仿真+配套資料等)

畢設幫助、開題指導、技術解答(有償)見文未 目錄 一、硬件設計 二、設計功能 三、Proteus仿真圖 四、程序源碼 資料包括&#xff1a; 需要完整的資料可以點擊下面的名片加下我&#xff0c;找我要資源壓縮包的百度網盤下載地址及提取碼。 方案選擇 單片機的選擇 方案一&a…

ElasticSearch 7.4學習記錄(基礎概念和基礎操作)

若你之前從未了解過ES&#xff0c;本文將由淺入深的一步步帶你理解ES&#xff0c;簡單使用ES。作者本人就是此狀態&#xff0c;通過學習和梳理&#xff0c;產出本文&#xff0c;已對ES有個全面的了解和想法&#xff0c;不僅將知識點梳理&#xff0c;也涉及到自己的理解&#xf…

行業追蹤,2023-08-09

自動復盤 2023-08-09 凡所有相&#xff0c;皆是虛妄。若見諸相非相&#xff0c;即見如來。 k 線圖是最好的老師&#xff0c;每天持續發布板塊的rps排名&#xff0c;追蹤板塊&#xff0c;板塊來開倉&#xff0c;板塊去清倉&#xff0c;丟棄自以為是的想法&#xff0c;板塊去留讓…

linux學習——Redis基礎

目錄 一、noSQL 類型 特點及應用場景 二、Redis 三、安裝方式 編譯安裝 rpm安裝 四、目錄結構 /etc/redis.conf 五、Redis命令 六、本地登錄和遠程登錄 本地登錄 遠程登錄 七、數據庫操作 幫助信息 庫操作 數據操作 八、Redis持久化 一、RDB類型 二、AOF模式 一…

2023河南萌新聯賽第(四)場:河南大學 F - 小富的idea

2023河南萌新聯賽第&#xff08;四&#xff09;場&#xff1a;河南大學 F - 小富的idea 時間限制&#xff1a;C/C 1秒&#xff0c;其他語言2秒 空間限制&#xff1a;C/C 262144K&#xff0c;其他語言524288K 64bit IO Format: %lld 題目描述 要注意節約 卷王小富最近又在內卷&a…

密碼檢查-C語言/Java

描述 小明同學最近開發了一個網站&#xff0c;在用戶注冊賬戶的時候&#xff0c;需要設置賬戶的密碼&#xff0c;為了加強賬戶的安全性&#xff0c;小明對密碼強度有一定要求&#xff1a; 1. 密碼只能由大寫字母&#xff0c;小寫字母&#xff0c;數字構成&#xff1b; 2. 密碼不…