当前位置: 首页 > news >正文

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命令增删改查演示内容,感谢阅读,祝君暴富!

相关文章:

neo4j的CQL命令实例演示

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

vue3+ts使用antv/x6

使用 2.x 版本 x6.antv 新官网: 安装 npm install antv/x6 //"antv/x6": "^2.1.6",项目结构 1、初始化画布 index.vue <template><div id"container"></div> </template><script setup langts> import { onM…...

wsl1 ubuntu通过宿主机代理连接外网

文章目录 环境变量配置apt换源apt安装&#xff0c;测试是否能通外网可能出现的问题&#xff1a;Temporary failure resolving 参考 背景&#xff1a;公司电脑是局域网&#xff0c;通过走代理来连接外网 wsl1 ubuntu想要通过来连接宿主机的局域网代理&#xff0c;访问外网 可以…...

ubuntu20.04 opencv4.2 安装笔记

参考&#xff1a; https://docs.opencv.org/4.x/d7/d9f/tutorial_linux_install.html Build with opencv_contrib # 1. Install minimal prerequisites&#xff0c; libgtk2.0-dev pkg-config 用来显示图像 sudo apt update && sudo apt install -y cmake g wget un…...

ubuntu安装nginx以及php的部署

目录 1.安装依赖包 2.安装nginx 3.编译nginx 4.启动nginx 5.访问nginx 6.增加源地址 7.安装php 8.配置php-fpm 9.修改权限 10.配置nginx里的php 11.启动php-fpm 12.配置php文件以及权限 13.登陆查看 1.安装依赖包 apt-get install gcc apt-get install libpcre3 l…...

IntelliJ IDEA 2021/2022关闭双击shift全局搜索

我这里演示的是修改&#xff0c;删除是右键的时候选择Remove就好了 IDEA左上角 File-->Settings 找到Navigate -->Search Everywhere &#xff0c;右键添加快捷键。 OK --> Apply应用...

HTML 元素中的name 属性

name 属性是 HTML 元素中常用的属性之一。它用于指定表单元素的名称&#xff0c;以便在提交表单时将其值与对应的键关联起来。 每个表单元素&#xff08;例如 <input>、<select> 和 <textarea>&#xff09;都可以具有一个 name 属性&#xff0c;该属性为元素…...

快速上手React:从概述到组件与事件处理

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…...

K8S系列文章之 离线安装自动化工具Ansible

参考 文档 离线安装 Ansible - DevOps - dbaselife 一、Ansible简介 Ansible是一款开源的IT配置管理工具&#xff0c;常被IT界的小伙伴们用于自动化的场景&#xff0c;多用在服务部署、配置管理方面。配置文件采用最常见的yaml格式&#xff0c;学习起来也是比较容易&#xff…...

mysql8.0.3集群搭建

下载mysql安装包&#xff1a; https://dev.mysql.com/downloads/mysql/5.7.html#downloads 准备环境 1、准备三台服务器并设置hosts 192.168.236.143 mysql1 192.168.236.144 mysql2 192.168.236.145 mysql32、设置免密登陆 #生成秘钥 ssh-keygen -t rsa #一直按Enter即可…...

vue中router路由的原理?两种路由模式如何实现?(vue2) -(上)

平时我们编写路由时&#xff0c;通常直接下载插件使用&#xff0c;在main.js文件中引入直接通过引入vue-router中的Router通过Vue.use使用以后定义一个routeMap数组&#xff0c;里边是我们编写路由的地方&#xff0c;最后通过实例化一个 Router实例 将routes我们定义的routeMao…...

消息队列(3) -封装数据库的操作

前言 上一篇博客我们写了, 关于交换机, 队列,绑定, 写入数据库的一些建库建表的操作 这一篇博客中,我们将建库建表操作,封装一下实现层一个类来供上层服务的调用 , 并在写完该类之后, 测试代码是否完整 实现封装 在写完上述的接口类 与 xml 后, 我们想要 创建一个类 ,来调用…...

PostgreSQL中根据时间段范围查询数据,如19:29:10到20:29:10范围内的数据,排除年月日

数据格式如下 问题描述 我的SQL语句条件是 WHERE (TO_CHAR(cti.binder_gen_time, YYYY-MM-DD HH:mm:ss) > 19:29:10 AND TO_CHAR(cti.binder_gen_time, YYYY-MM-DD HH:mm:ss) < 20:29:10)为什么我数据的时间是2023-07-20 17:58:29也能被查出来&#xff1f; 问题解决…...

【二分+贪心】CF1665 C

Problem - C - Codeforces 题意&#xff1a; 思路&#xff1a; 一开始想太简单wa6了 只想到先感染大的分量&#xff0c;然后最后把最大的分量剩下的染色 但是可能会有别的分量更大&#xff08;因为最后给最大的染色之后可能不再是最大的&#xff09; 可以用堆维护&#xf…...

【Wamp】安装 | 局域网内设备访问

安装教程&#xff1a; https://wampserver.site/article/1.html 下载 https://www.wampserver.com/en/ 安装路径上不能有中文 安装好之后图标呈绿色 放入网页文件 将网页文件放置于wamp文件夹的www子文件夹 例如&#xff1a;\Wamp\program\www 修改http端口 WAMP服务器…...

【golang】类型推断和变量重声明

类型推断是一种编程语言在编译期自动解释表达式类型的能力。 1.Go语言的类型推断可以带来哪些好处&#xff1f; 在写代码时&#xff0c;我们通过使用Go语言的类型推断会节省敲击次数&#xff0c;而节省下来的键盘敲击次数几乎可以忽略不记。但它真正的好处&#xff0c;往往会…...

“算法详解”系列第3卷贪心算法和动态规划出版

“算法详解”系列图书共有4卷&#xff0c;目前1到3卷已经出版。最新出版的是第3卷—贪心算法和动态规划。 算法详解 卷3 贪心算法和动态规划 “算法详解”系列图书共有4卷&#xff0c;本书是第3卷—贪心算法和动态规划。其中贪心算法主要包括调度、最小生成树、集群、哈夫曼编…...

CSS前端开发指南:创造精美的用户界面

简介&#xff1a; 《CSS前端开发指南&#xff1a;创造精美的用户界面》是一本旨在帮助读者掌握CSS技术&#xff0c;实现令人惊叹的前端用户界面的实用指南。无论您是初学者还是有经验的开发者&#xff0c;本书都将为您提供全面的知识和实用技巧&#xff0c;帮助您创建引人注目…...

代数学与理论物理中常见的群

代数学与理论物理中常见的群 代数学与理论物理中常见的群 四阶群 六阶群 对称群 二维转动群 三维转动群 三维正交群 群 O3群...

解析xml文件,获取需要的数据并写入txt文件中

_ 话不多说&#xff01;直接上代码&#xff01;_ 1、XmlUtil.java xml解析工具类 public class XmlUtil {private static String dicName "";private static String dicValue "";// 用于存储需要的数据private static List<Map<String, Str…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...