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 \
删除数据 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等
相关推荐
SkyWalking中文站5 小时前
BanyanDB 0.11.0:新特性与升级指南
数据库
₍˄·͈༝·͈˄*₎◞ ̑̑码7 小时前
MyBatis操作数据库
数据库·mybatis
刃神太酷啦9 小时前
Redis 进阶核心:持久化 (RDB/AOF)、事务与主从复制全解析----《Hello Redis!》(5)
linux·c语言·数据库·c++·redis·缓存·bootstrap
丁丁点灯o9 小时前
Oracle中使用外键的场景及不适用外键的情况
数据库·oracle
天天进步20159 小时前
Pixelle-Video 源码解析 #18:声音克隆功能:参考音频如何影响解说效果?
数据库·音视频
不懂的浪漫9 小时前
ToDesk 连接 Linux 后分辨率过低的解决方法
linux·运维·数据库
布莱克60510 小时前
Redis 详解:从核心数据结构到高可用架构
数据库
冰暮流星10 小时前
mysql之左外连接与右外连接
数据库·sql
jyOverQ11 小时前
MySQL 联合索引怎么用?最左匹配原则到底是什么意思?
数据库·mysql
oradh11 小时前
Oracle enq: US - contention 等待事件总结
数据库·oracle