Neo4j CQL语句 使用教程

CREATE命令 :

java 复制代码
CREATE (
   <node-name>:<label-name>
   { 	
      <Property1-name>:<Property1-Value>
      ........
      <Propertyn-name>:<Propertyn-Value>
   }
)

字段说明

CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" }),使用此命令后,展示的Table信息如下:

java 复制代码
{
  "identity": 96,
  "labels": [
    "Dept"
  ],
  "properties": {
"location": "Hyderabad",
"deptno": 10,
"dname": "Accounting"
  }
}

MATCH命令

match 的命令语法:

java 复制代码
MATCH 
(
   <node-name>:<label-name>
)

使用 MATCH (dept:Dept) return dept 可以得到# RETURN 命令

RETURN命令语法:

java 复制代码
RETURN 
   <node-name>.<property1-name>,
   ........
   <node-name>.<propertyn-name>

return命令 不能单独使用

MATCH & RETURN匹配和返回

使用 MATCH (dept: Dept)

RETURN dept.deptno,dept.dname,dept.location得到:

CREATE+MATCH+RETURN命令

创建 CREATE (cc:CreditCard{id:"5001",number:"1234567890",cvv:"888",expiredate:"20/17"})

查询 MATCH (cc:CreditCard)

RETURN cc.id,cc.number,cc.cvv,cc.expiredate

CREATE创建标签

语法 :

java 复制代码
CREATE (<node-name>:<label-name>)

使用CREATE (google1:GooglePlusProfile) 得到

多个标签到节点

语法:

java 复制代码
CREATE (<node-name>:<label-name1>:<label-name2>.....:<label-namen>)

使用 CREATE (m:Movie:Cinema:Film:Picture)

单个标签到关系

语法 :

java 复制代码
CREATE (<node1-name>:<label1-name>)-
	[<relationship-name>:<relationship-label-name>]
	->(<node2-name>:<label2-name>)

例如 : CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)

WHERE子句

简单WHERE子句语法

复制代码
WHERE <condition>

复杂WHERE子句语法

复制代码
WHERE <condition> <boolean-operator> <condition>

我们可以使用布尔运算符在同一命令上放置多个条件。 请参考下一节,了解Neo4j CQL中可用的布尔运算符。

condition的语法:

java 复制代码
<property-name> <comparison-operator> <value>

Neo4j CQL中的布尔运算符

Neo4j CQL中的比较运算符

DELETE删除

  • 删除节点。
  • 删除节点及相关节点和关系
    语法 :
java 复制代码
DELETE <node-name-list>

MATCH (e: Employee) delete e

DELETE节点和关系子句语法

java 复制代码
DELETE <node1-name>,<node2-name>,<relationship-name>
java 复制代码
MATCH (cc: CreditCard)-[rel]-(c:Customer) 
DELETE cc,c,rel

REMOVE删除

Neo4j CQL REMOVE命令用于

  • 删除节点或关系的标签
  • 删除节点或关系的属性

Neo4j CQL DELETE和REMOVE命令之间的主要区别 -

  • DELETE操作用于删除节点和关联关系。
  • REMOVE操作用于删除标签和属性

Neo4j CQL DELETE和REMOVE命令之间的相似性 -

  • 这两个命令不应单独使用。
  • 两个命令都应该与MATCH命令一起使用。

语法 :

java 复制代码
REMOVE <property-name-list>
java 复制代码
CREATE TABLE BOOK(
	id number,
	title varchar2(20),
	pages number,
	price number
);
INSERT INTO BOOK VALUES (122,'Neo4j Tutorial',340,250);

MATCH (book { id:122 })
REMOVE book.price
RETURN book

SET子句

Neo4j CQL 已提供 SET 子句来执行以下操作。

  • 向现有节点或关系添加新属性
  • 添加或更新属性值
java 复制代码
SET  <property-name-list>

<属性名称列表>语法:

复制代码
<node-label-name>.<property1-name>,
<node-label-name>.<property2-name>, 
.... 
<node-label-name>.<propertyn-name> 
xml 复制代码
MATCH (book:Book)
SET book.title = 'superstar'
RETURN book

ORDER BY排序

语法:

复制代码
ORDER BY  <property-name-list>  [DESC]	 
复制代码
MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name
相关推荐
启山智软7 分钟前
【中大企业选择源码部署商城系统】
java·spring·商城开发
我真的是大笨蛋9 分钟前
深度解析InnoDB如何保障Buffer与磁盘数据一致性
java·数据库·sql·mysql·性能优化
怪兽源码37 分钟前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
恒悦sunsite43 分钟前
Redis之配置只读账号
java·redis·bootstrap
梦里小白龙1 小时前
java 通过Minio上传文件
java·开发语言
人道领域1 小时前
javaWeb从入门到进阶(SpringBoot事务管理及AOP)
java·数据库·mysql
sheji52611 小时前
JSP基于信息安全的读书网站79f9s--程序+源码+数据库+调试部署+开发环境
java·开发语言·数据库·算法
毕设源码-邱学长1 小时前
【开题答辩全过程】以 基于Java Web的电子商务网站的用户行为分析与个性化推荐系统为例,包含答辩的问题和答案
java·开发语言
摇滚侠1 小时前
Java项目教程《尚庭公寓》java项目从开发到部署,技术储备,MybatisPlus、MybatisX
java·开发语言
€8112 小时前
Java入门级教程24——Vert.x的学习
java·开发语言·学习·thymeleaf·数据库操作·vert.x的路由处理机制·datadex实战