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 
----+-----+--------+----+-------+----