第三章 CQL语法 v1.0
第一部分 创建相关语法
一、创建(CREATE)命令
1.创建节点
<节点名/关系名>可以视为SQL中的别名,若使用不到可以不进行指定。
sql
#创建没有属性的节点
CREATE (<节点名>:<label>:<label2>:...) //一个节点可以有多个标签
#创建有属性的节点
CREATE (<节点名>:<label>:<label2>:...{
<key>:<value>, //属性
........
<key>:<value>}
)
#创建有初始关系的节点
CREATE (<节点名1>:<relation-label>:...)-[<关系名>:<label>]->(<节点名2>:<label>:...)2.创建关系
sql
<MATCH子句>
CREATE
(<节点名1>)-[<关系名>:<relation-label>{<define-properties-list>}]->(<节点名2>)
<RETURN子句> //用于获取返回的数据图sql
//创建关系
MATCH(user1{name:"user1"}),(user2{name:"user2"})
CREATE(user1)-[:friend]->(user2)第二部分 查找相关语法
一、MATCH命令与RETURN命令
1.查询节点
在Neo4j CQL中,我们不能单独使用MATCH或RETURN命令,因此我们应该合并这两个命令以从数据库检索数据。
2.MATCH子句
sql
//匹配节点
MATCH (<节点名>:<label>{<key>:<value>,...})
//匹配关系
MATCH <关系名>=(<节点名1>:<label>{...})-[<relation-label>]->(<节点名2>:<label>{...})3.RETURN子句
RETURN命令用于返回查看结果值,一般与MATCH命令同时使用
sql
//返回查询图
<MATCH子句>
RETURN <节点|关系名>
//返回查询节点属性
<MATCH子句>
RETURN <节点名>.<key>,<节点名>.<key>,...二、WHERE子句
WHERE子句可以跟在MATCH语句之后,进一步精细化查询
1.基本语法
sql
WHERE <条件判断语句>[<布尔运算符><条件判断语句>...]
//常用WHERE语句示例
WHERE id(n)=<number>
WHERE n.name="name"2.布尔运算符
3.比较运算符
第三部分 删除相关语法
一、DELETE命令
DELETE操作用于删除节点和关联关系,应该与MATCH命令一起使用。
1.删除节点
sql
<MATCH子句> //用于匹配需要删除的节点
DELETE <node-name>;
[<RETURN子句>] //用于获取返回的数据图2.删除关系
sql
<MATCH子句> //用于匹配需要删除的关系
DELETE <relationship-name>;
[<RETURN子句>] //用于获取返回的数据图二、REMOVE命令
REMOVE操作用于删除标签和属性,应该与MATCH命令一起使用。
1.删除标签
sql
<MATCH子句> //用于匹配需要删除的标签
REMOVE <node-name>:<label-name>;
[<RETURN子句>] //用于获取返回的数据图2.删除节点属性
sql
<MATCH子句> //用于匹配需要删除的节点
REMOVE <node-name>.<property-name>[,...,<node-name>.<property-name>];
[<RETURN子句>] //用于获取返回的数据图第四部分 修改相关语法
一、SET命令
SET命令用于重新设置节点/属性的值,应该与MATCH命令一起使用。
1.修改节点属性值
sql
<MATCH子句> //用于匹配需要修改属性的节点
SET <node-name>.<propertyn-name>=<设置值>
[<RETURN子句>] //用于获取返回的数据图2.为节点添加标签
sql
<MATCH子句> //用于匹配需要修改属性的节点
SET <节点名>:<label>:<label2>:...
[<RETURN子句>] //用于获取返回的数据图