简述
CQL 代表密码查询语言。就像 Oracle 数据库有查询语言 SQL,Neo4j 有 CQL 作为查询语言。
Neo4j CQL
- 是 Neo4j 图形数据库的查询语言。
- 是一种声明性模式匹配语言。
- 遵循类似 SQL 的语法。
- 语法非常简单并且是人类可读的格式。
像 Oracle SQL
- Neo4j CQL 具有执行数据库操作的命令。
- Neo4j CQL 支持许多子句,例如 WHERE、ORDER BY 等,可以轻松编写非常复杂的查询。
- Neo4j CQL 支持 String、Aggregation 等一些功能。除了它们之外,它还支持一些关系函数。
Neo4j CQL 子句
以下是 Neo4j 的 read 子句CypherQueryLanguage
序号 |
阅读条款 |
用法 |
1 |
MATCH |
该子句用于搜索具有指定模式的数据。 |
2 |
OPTIONAL MATCH |
这与 match 相同,唯一的区别是它可以在缺少模式部分的情况下使用 null。 |
3 |
WHERE |
此子句 id 用于向 CQL 查询添加内容。 |
4 |
START |
该子句用于通过遗留索引查找起点。 |
5 |
LOAD CSV |
该子句用于从 CSV 文件导入数据。 |
以下是 Neo4j 的 write 子句CypherQueryLanguage
序号 |
写条款 |
用法 |
1 |
CREATE |
该子句用于创建节点、关系和属性。 |
2 |
MERGE |
该子句验证图形中是否存在指定的模式。如果没有,它会创建模式。 |
3 |
SET |
该子句用于更新节点上的标签、节点上的属性和关系。 |
4 |
DELETE |
该子句用于从图中删除节点和关系或路径等。 |
5 |
REMOVE |
此子句用于从节点和关系中删除属性和元素。 |
6 |
FOREACH |
此类用于更新列表中的数据。 |
7 |
CREATE UNIQUE |
使用子句 CREATE 和 MATCH,您可以通过匹配现有模式并创建缺少的模式来获得唯一模式。 |
8 |
Importing CSV files with Cypher |
使用加载 CSV,您可以从 .csv 文件导入数据。 |
以下是 Neo4j 的一般条款CypherQueryLanguage
序号 |
一般条款 |
用法 |
1 |
RETURN |
此子句用于定义要包含在查询结果集中的内容。 |
2 |
ORDER BY |
此子句用于按顺序排列查询的输出。它与从句一起使用RETURN或者WITH. |
3 |
LIMIT |
此子句用于将结果中的行限制为特定值。 |
4 |
SKIP |
此子句用于定义从哪一行开始包括输出中的行。 |
5 |
WITH |
该子句用于将查询部分链接在一起。 |
6 |
UNWIND |
此子句用于将列表扩展为行序列。 |
7 |
UNION |
该子句用于组合多个查询的结果。 |
8 |
CALL |
该子句用于调用部署在数据库中的过程。 |
Neo4j CQL 函数
以下是常用的 Neo4j CQL 函数 -
序号 |
CQL 函数 |
用法 |
1 |
String |
它们用于处理字符串文字。 |
2 |
Aggregation |
它们用于对 CQL 查询结果执行一些聚合操作。 |
3 |
Relationship |
它们用于获取关系的详细信息,例如 startnode、endnode 等。 |
我们将在后续章节中详细讨论所有 Neo4j CQL 命令、子句和函数的语法、用法和示例。
Neo4j CQL 数据类型
这些数据类型类似于 Java 语言。它们用于定义节点或关系的属性。
Neo4j CQL 支持以下数据类型
序号 |
CQL 数据类型 |
用法 |
1 |
Boolean |
它用于表示布尔文字:真、假。 |
2 |
byte |
它用于表示 8 位整数。 |
3 |
short |
它用于表示 16 位整数。 |
4 |
int |
它用于表示 32 位整数。 |
5 |
long |
它用于表示 64 位整数。 |
6 |
float |
它用于表示 32 位浮点数。 |
7 |
double |
它用于表示 64 位浮点数。 |
8 |
char |
它用于表示 16 位字符。 |
9 |
String |
它用于表示字符串。 |
CQL 运算符
以下是 Neo4j Cypher Query 语言支持的运算符列表。
序号 |
类型 |
运营商 |
1 |
数学 |
+, -, *, /, %, ^ |
2 |
比较 |
+、<>、、= |
3 |
布尔值 |
与、或、异或、非 |
4 |
字符串 |
+ |
5 |
列表 |
+, IN, [X], [X…..Y] |
6 |
正则表达式 |
=- |
7 |
字符串匹配 |
开始于,结束于,约束 |
Neo4j CQL 中的布尔运算符
Neo4j 支持在 Neo4j CQL WHERE 子句中使用以下布尔运算符来支持多个条件。
序号 |
布尔运算符 |
描述 |
1 |
AND |
它是一个支持 AND 操作的 Neo4j CQL 关键字。它就像 SQL AND 运算符。 |
2 |
OR |
它是一个支持 OR 操作的 Neo4j CQL 关键字。它就像 SQL AND 运算符。 |
3 |
NOT |
它是一个支持 NOT 操作的 Neo4j CQL 关键字。它就像 SQL AND 运算符。 |
4 |
XOR |
它是一个支持 XOR 操作的 Neo4j CQL 关键字。它就像 SQL AND 运算符。 |
Neo4j CQL 中的比较运算符
Neo4j 支持在 Neo4j CQL WHERE 子句中使用以下比较运算符来支持条件。
序号 |
布尔运算符 |
描述 |
1 |
= |
它是一个 Neo4j CQL “等于”运算符。 |
2 |
< > |
它是一个 Neo4j CQL “不等于”运算符。 |
3 |
它是一个 Neo4j CQL“小于”运算符。 |
|
4 |
> |
它是一个 Neo4j CQL “大于”运算符。 |
5 |
它是一个 Neo4j CQL“小于或等于”运算符。 |
|
6 |
> = |
它是一个 Neo4j CQL “大于或等于”运算符。 |