OrientDB 教程

OrientDB - 主页 OrientDB - 概述 OrientDB - 安装 OrientDB - 基本概念 OrientDB - 数据类型 OrientDB - 控制台模式

OrientDB 数据库命令

OrientDB - 创建数据库 OrientDB - 更改数据库 OrientDB - 备份数据库 OrientDB - 恢复数据库 OrientDB - 连接数据库 OrientDB - 断开数据库 OrientDB - 信息数据库 OrientDB - 列出数据库 OrientDB - 冻结数据库 OrientDB - 释放数据库 OrientDB - 配置数据库 OrientDB - 导出数据库 OrientDB - 导入数据库 OrientDB - 提交数据库 OrientDB - 回滚数据库 OrientDB - 优化数据库 OrientDB - 删除数据库

OrientDB 记录命令

OrientDB - 插入记录 OrientDB - 显示记录 OrientDB - 加载记录 OrientDB - 重新加载记录 OrientDB - 导出记录 OrientDB - 更新记录 OrientDB - 截断记录 OrientDB - 删除记录

OrientDB 类命令

OrientDB - 创建类 OrientDB - 更改类 OrientDB - 截断类 OrientDB - 删除类

OrientDB 集群命令

OrientDB - 创建集群 OrientDB - 更改群集 OrientDB - 截断群集 OrientDB - 删除群集

OrientDB 属性命令

OrientDB - 创建属性 OrientDB - 更改属性 OrientDB - 删除属性

OrientDB 顶点命令

OrientDB - 创建顶点 OrientDB - 移动顶点 OrientDB - 删除顶点

OrientDB 边命令

OrientDB - 创建边 OrientDB - 更新边 OrientDB - 删除边

OrientDB高级概念

OrientDB - 函数 OrientDB - 序列 OrientDB - 索引 OrientDB - 事务 OrientDB - 钩子 OrientDB - 缓存 OrientDB - 日志 OrientDB - 性能调优 OrientDB - 升级 OrientDB - 安全 OrientDB - Studio

OrientDB 接口

OrientDB - Java 接口 OrientDB - Python 接口

OrientDB 有用资源

OrientDB - 快速指南 OrientDB - 有用资源 OrientDB - 讨论


OrientDB - 显示记录

与 RDBMS 类似,OrientDB 支持不同类型的 SQL 查询来从数据库中检索记录。在检索记录时,我们有不同的查询变体或选项以及 select 语句。

以下语句是 SELECT 命令的基本语法。

SELECT [ <Projections> ] [ FROM <Target> [ LET <Assignment>* ] ] 
   [ WHERE <Condition>* ] 
   [ GROUP BY <Field>* ] 
   [ ORDER BY <Fields>* [ ASC|DESC ] * ] 
   [ UNWIND <Field>* ] 
   [ SKIP <SkipRecords> ] 
   [ LIMIT <MaxRecords> ] 
   [ FETCHPLAN <FetchPlan> ] 
   [ TIMEOUT <Timeout> [ <STRATEGY> ] ]
   [ LOCK default|record ] 
   [ PARALLEL ] 
   [ NOCACHE ] 

以下是有关上述语法中选项的详细信息。

<Projections> − 表示要从查询中提取的数据作为结果记录集。

FROM − 表示要查询的对象。这可以是类、集群、单个记录 ID、记录 ID 集。您可以将所有这些对象指定为目标。

WHERE − 指定过滤结果集的条件。

LET − 表示在投影、条件或子查询中使用的上下文变量。

GROUP BY − 表示用于对记录进行分组的字段。

ORDER BY −指示按顺序排列记录的字段。

UNWIND − 指定要展开记录集合的字段。

SKIP − 定义要从结果集开头跳过的记录数。

LIMIT − 指示结果集中的最大记录数。

FETCHPLAN − 指定定义如何获取结果的策略。

TIMEOUT − 定义查询的最大时间(以毫秒为单位)。

LOCK − 定义锁定策略。DEFAULT 和 RECORD 是可用的锁定策略。

PARALLEL −针对"x"个并发线程执行查询。

NOCACHE − 定义是否要使用缓存。

示例

让我们考虑上一章中创建的以下客户表。

Sr.No.NameAge
1Satish25
2Krishna26
3Kiran29
4Javeed21
5Raja29

尝试使用不同的选择查询从 Customer 表中检索数据记录。

方法 1 − 您可以使用以下查询从 Customer 表中选择所有记录。

orientdb {db = demo}> SELECT FROM Customer 

如果上述查询成功执行,您将获得以下输出。

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:0|Customer|1   |satish |25   
1   |#11:1|Customer|2   |krishna|26   
2   |#11:2|Customer|3   |kiran  |29 
3   |#11:3|Customer|4   |javeed |21 
4   |#11:4|Customer|5   |raja   |29   
----+-----+--------+----+-------+----

方法 2 − 选择名称以字母"k"开头的所有记录。

orientdb {db = demo}> SELECT FROM Customer WHERE name LIKE 'k%'

或者,您可以对上述示例使用以下查询。

orientdb {db = demo}> SELECT FROM Customer WHERE name.left(1) = 'k'

如果上述查询成功执行,您将获得以下输出。

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:1|Customer|2   |krishna|26   
1   |#11:2|Customer|3   |kiran  |29 
----+-----+--------+----+-------+----

方法 3 − 从 Customer 表中选择 id、name 且名称为大写字母的记录。

orientdb {db = demo}> SELECT id, name.toUpperCase() FROM Customer

如果上述查询成功执行,您将获得以下输出。

----+--------+----+------- 
#   |@CLASS  |id  |name     
----+--------+----+------- 
0   |null    |1   |SATISH   
1   |null    |2   |KRISHNA  
2   |null    |3   |KIRAN   
3   |null    |4   |JAVEED  
4   |null    |5   |RAJA      
----+--------+----+------- 

方法 4 − 从 Customer 表中选择年龄在 25 至 29 范围内的所有记录。

orientdb {db = demo}> SELECT FROM Customer WHERE age in [25,29]

如果上述查询成功执行,您将获得以下输出。

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:0|Customer|1   |satish |25   
1   |#11:2|Customer|3   |kiran  |29 
2   |#11:4|Customer|5   |raja   |29   
----+-----+--------+----+-------+---- 

方法 5 − 从 Customer 表中选择所有字段包含单词 'sh' 的记录。

orientdb {db = demo}> SELECT FROM Customer WHERE ANY() LIKE '%sh%' 

如果上述查询成功执行,您将获得以下输出。

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:0|Customer|1   |satish |25   
1   |#11:1|Customer|2   |krishna|26   
----+-----+--------+----+-------+---- 

方法 6 − 从 Customer 表中选择所有记录,按年龄降序排列。

orientdb {db = demo}> SELECT FROM Customer ORDER BY age DESC 

如果上述查询成功执行,您将获得以下输出。

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:2|Customer|3   |kiran  |29 
1   |#11:4|Customer|5   |raja   |29   
2   |#11:1|Customer|2   |krishna|26   
3   |#11:0|Customer|1   |satish |25   
4   |#11:3|Customer|4   |javeed |21 
----+-----+--------+----+-------+----