Nebula Graph-05-NebulaGraph nGQL和SQL区别

前言

系列文章:
Nebula Graph-01-Nebula Graph简介和安装以及客户端连接
Nebula Graph-02-NebulaGraph高阶配置、用户管理、日志
Nebula Graph-03-NebulaGraph Studio-可视化web工具安装和使用
Nebula Graph-04-NebulaGraph nGQL的介绍和使用
Nebula Graph-05-NebulaGraph nGQL和SQL区别
Nebula Graph-06-NebulaGraph Java 使用 和SpringBoot集成Nebula Graph


刚刚我们介绍了nGQL的基本用法: Nebula Graph-04-NebulaGraph nGQL的介绍和使用

现在我们来比较一下nGQL 和我们关系型数据库SQL的区别

nGQL和SQL的概念

对比项 SQL nGQL
\
\
点类型 \ tag
边类型 \ edge type
点 ID 主键 vid
边 ID 复合主键 起点、终点、rank
点或边的属性
点或边

数据操作语言(DML)

  • DML(Data Manipulation Language,数据操作语言):用于数据的增删改。
  • DML操作对象是表里的数据(记录)
对比项 SQL nGQL
插入数据 INSERT IGNORE INTO <tbl_name> [(col_name [, col_name] ...)] {VALUES | VALUE} [(value_list) [, (value_list)] INSERT VERTEX <tag_name> (prop_name_list[, prop_name_list]) {VALUES | VALUE} vid: (prop_value_list[, prop_value_list]) ----------或------INSERT EDGE <edge_name> ( <prop_name_list> ) VALUES | VALUE <src_vid> -> <dst_vid>[@] : ( <prop_value_list> )
更新数据 UPDATE <tbl_name> SET field1=new-value1, field2=new-value2 [WHERE Clause] UPDATE VERTEX SET <update_columns> [WHEN ] UPDATE EDGE SET <update_columns> [WHEN <condition>]
删除数据 DELETE FROM <tbl_name> [WHERE Clause] DELETE EDGE <edge_type> -> [@] [, -> ...] DELETE VERTEX <vid_list>
拼接子查询 JOIN |

数据定义语言 (DDL)

  • DDL(Data Definition Language,数据定义语言): 用于定义数据的结构,比如 创建、修改或者删除数据库对象。
  • DDL操作的对象是表
对比项 SQL nGQL
创建图空间(数据库) CREATE DATABASE <database_name> CREATE SPACE <space_name>
列出图空间(数据库) SHOW DATABASES SHOW SPACES
使用图空间(数据库) USE <database_name> USE <space_name>
删除图空间(数据库) DROP DATABASE <database_name> DROP SPACE <space_name>
修改图空间(数据库) ALTER DATABASE <database_name> alter_option \
创建 tags/edges \ CREATE TAG
创建表 CREATE TABLE <tbl_name> (create_definition,...) \
列出表列名 SHOW COLUMNS FROM <tbl_name> \
列出 tags/edges \ SHOW TAGS
修改 tags/edge \ ALTER TAG
修改表 ALTER TABLE <tbl_name> \

数据控制语言(DCL)

  • DCL(Data Control Language,数据控制语言):用于定义数据库用户的权限。
  • DCL的操作对象是用户
对比项 SQL nGQL
创建用户 CREATE USER CREATE USER
删除用户 DROP USER DROP USER
更改密码 SET PASSWORD CHANGE PASSWORD
授予权限 GRANT <priv_type> ON [object_type] TO GRANT ROLE <role_type> ON TO
删除权限 REVOKE <priv_type> ON [object_type] TO REVOKE ROLE <role_type> ON FROM

数据查询语言(DQL)

  • DQL(Data Query Language,数据库查询语言):用于查询数据
  • DQL的操作对象是数据库
对比项 SQL nGQL
查询数据 SELECT GO, FETCH等
相关推荐
科技小花1 小时前
全球化深水区,数据治理成为企业出海 “核心竞争力”
大数据·数据库·人工智能·数据治理·数据中台·全球化
X56612 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
虹科网络安全3 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
2301_771717214 小时前
解决mysql报错:1406, Data too long for column
android·数据库·mysql
小江的记录本4 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
dvjr cloi4 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
dFObBIMmai5 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw05 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python
czlczl200209255 小时前
利用“延迟关联”优化 MySQL 巨量数据的深分页查询
数据库·mysql
ACP广源盛139246256736 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑