数据库~neo4j的基本语句
2017-12-26 14:35
375 查看
Neo4j是一个高性能的图数据库,具有普通数据库的事务特性,它将数据存储到图网络上,而不是表上。节点的查询和处理速度也是很快的,对于制作图谱等需求的数据存储,还是很实用的。
MATCH (n) DETACH DELETE n
2、创建一个Person 名字为a 出生于1997的节点
CREATE (a:Person {name:’a’, born:1997}) return a;
3、创建b和c
CREATE (b:Person {name:’b’, born:1997}),(c:Person {name:’c’, born:1961}) Return b,c
4、创建小明和小红的错误写法1
create (n:people{name:’小明’,age:’18’,sex:’男’}) return n;
create (n:people{name:’小红’,age:’18’,sex:’女’}) return n;
改为
create (n:people{name:’小明’,age:’18’,sex:’男’}), (n:people{name:’小红’,age:’18’,sex:’女’}) return n; 仍然错误
5、逐条插入小明和小红,才是正确写法,如果不用create,可以使用merge,则可以插入多条
create (n:people{name:’小明’,age:’18’,sex:’男’})return n;
6、根据id建立关系
将之前定义的小红和小明建立关系,通过他们的id
start m =no
4000
de(1025),f=node(1024) create (m)-[n:gift]->(f) return m,f
7、新创建一个a和b,此时这句话,相当于新建了一个a和b并赋予关系,并不是给之前的name为a和b的Person建立关系
CREATE (m:Person{name:’a’})-[:gift]->(f:Person{name:’b’}) return m,f
8、那么如何给之前定义成功的接点之间建立联系,用match
//MATCH (n:Pesson{name:’a’}),(b:Pesson{name:’张三’}) Merge(n)-[:贿赂]->(b)
MATCH(n:Person{name:’a’,born:1997}),(b:Person{name:’b’,born:1997}) merge(n)-[:老师]->(b)
9、创建节点同时指定关系
match (a:Test),(b:Test)
where a.name=’杜甫’ and b.name=’李白’
create (a)-[:哈哈]->(b)
10、创建一个新的节点,直接和已存在的点建立关系
match (a:Test{name:’杜甫’}) merge (b:Test{name:’d样’})-[:哈哈]->(a);
MATCH (n) RETURN n
2、查询所有标签中,出生于1997的
Match(n{born:1997}) return n
查询年龄为18的Person,结果不包含people
MATCH (n:Person{age:’18’}) return n;
3、指定查找个数
MATCH (n:Test) RETURN n LIMIT 25
查找Test 25个
4、查询一级关系
match q=(n:A{name:’宅院2’})-[]-()return q;
5、查询两级关系
match q=(n:A{name:’宅院2’})-[]-(),p=(n:A{name:’宅院2’})-[]-()-[]-() return p,q;
6、层级查找
match p=(n:A)-[n1:包含]-(),q=()-[n2:住在]-()return p,q;
match p=(n:A)-[n1:包含]-()return p;
match p=(n:A)-[]-(),q=()-[n1:还有]-() return p,q;
7、查找三层关系
match p=(n:A)-[]-(),q=(n1:B)-[]-() return p,q;
MATCH (n:Person)WHERE n.name=”a”SET n.born = 2003RETURN n;
2、删除节点d
**解决办法
先删除a和d之间的关系**
MATCH(n:Person{name:’a’,born:1997}),(b:Person{name:’d’,born:1987}) merge(n)-[p:孩子]->(b) delete p;
再删除d
MATCH(n:Person{name:’d’})delete n;
3、删除节点b,以及b的关系
MATCH(n:Person{name:’a’,born:1997}),(b:Person{name:’b’,born:1997}) merge(n)-[p:老师]->(b) delete p,b;
4、删除Test及其所有关系
match p=(n:Test)-[]-() delete p;
下面介绍Neo4j的基本语句的使用之“插入”
1、删除所有(先清库)MATCH (n) DETACH DELETE n
2、创建一个Person 名字为a 出生于1997的节点
CREATE (a:Person {name:’a’, born:1997}) return a;
3、创建b和c
CREATE (b:Person {name:’b’, born:1997}),(c:Person {name:’c’, born:1961}) Return b,c
4、创建小明和小红的错误写法1
create (n:people{name:’小明’,age:’18’,sex:’男’}) return n;
create (n:people{name:’小红’,age:’18’,sex:’女’}) return n;
改为
create (n:people{name:’小明’,age:’18’,sex:’男’}), (n:people{name:’小红’,age:’18’,sex:’女’}) return n; 仍然错误
5、逐条插入小明和小红,才是正确写法,如果不用create,可以使用merge,则可以插入多条
create (n:people{name:’小明’,age:’18’,sex:’男’})return n;
6、根据id建立关系
将之前定义的小红和小明建立关系,通过他们的id
start m =no
4000
de(1025),f=node(1024) create (m)-[n:gift]->(f) return m,f
7、新创建一个a和b,此时这句话,相当于新建了一个a和b并赋予关系,并不是给之前的name为a和b的Person建立关系
CREATE (m:Person{name:’a’})-[:gift]->(f:Person{name:’b’}) return m,f
8、那么如何给之前定义成功的接点之间建立联系,用match
//MATCH (n:Pesson{name:’a’}),(b:Pesson{name:’张三’}) Merge(n)-[:贿赂]->(b)
MATCH(n:Person{name:’a’,born:1997}),(b:Person{name:’b’,born:1997}) merge(n)-[:老师]->(b)
9、创建节点同时指定关系
match (a:Test),(b:Test)
where a.name=’杜甫’ and b.name=’李白’
create (a)-[:哈哈]->(b)
10、创建一个新的节点,直接和已存在的点建立关系
match (a:Test{name:’杜甫’}) merge (b:Test{name:’d样’})-[:哈哈]->(a);
下面介绍Neo4j的基本语句的使用之“查询”
1、查询所有MATCH (n) RETURN n
2、查询所有标签中,出生于1997的
Match(n{born:1997}) return n
查询年龄为18的Person,结果不包含people
MATCH (n:Person{age:’18’}) return n;
3、指定查找个数
MATCH (n:Test) RETURN n LIMIT 25
查找Test 25个
4、查询一级关系
match q=(n:A{name:’宅院2’})-[]-()return q;
5、查询两级关系
match q=(n:A{name:’宅院2’})-[]-(),p=(n:A{name:’宅院2’})-[]-()-[]-() return p,q;
6、层级查找
match p=(n:A)-[n1:包含]-(),q=()-[n2:住在]-()return p,q;
match p=(n:A)-[n1:包含]-()return p;
match p=(n:A)-[]-(),q=()-[n1:还有]-() return p,q;
7、查找三层关系
match p=(n:A)-[]-(),q=(n1:B)-[]-() return p,q;
下面介绍Neo4j的基本语句的使用之“修改”
1、将名字为a的节点,的born 修改成2003MATCH (n:Person)WHERE n.name=”a”SET n.born = 2003RETURN n;
下面介绍Neo4j的基本语句的使用之“删除”
1、删除节点c2、删除节点d
**解决办法
先删除a和d之间的关系**
MATCH(n:Person{name:’a’,born:1997}),(b:Person{name:’d’,born:1987}) merge(n)-[p:孩子]->(b) delete p;
再删除d
MATCH(n:Person{name:’d’})delete n;
3、删除节点b,以及b的关系
MATCH(n:Person{name:’a’,born:1997}),(b:Person{name:’b’,born:1997}) merge(n)-[p:老师]->(b) delete p,b;
4、删除Test及其所有关系
match p=(n:Test)-[]-() delete p;
相关文章推荐
- mysql自学,数据库基本操作语句_查询_插入_更新
- C#连接数据库最基本操作之sql语句 DML
- 【笔记】Oracle 数据库编程 - 基本语句总结
- 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等
- 数据库基本操作——基础操作语句及属性
- Oracle 10g数据库基础之基本查询语句-上
- 数据库笔记1:数据库基本语句
- MySQL_知识总结01(基本数据库语句+关于Mysql面试题+select语句的练习)
- 数据库基本----SQL语句大全
- 在网站了解到的一些,获取数据库基本信息的语句
- oracle基本语句(第五章、数据库逻辑存储结构管理)
- java程序中数据库连接及数据处理基本语句
- 数据库基本----SQL语句大全
- oracle 数据库中的一些基本操作语句
- 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等,需要的朋友可以参考下。
- Linux下的数据库安装过程及基本的SQL语句
- SQL sever语句对数据库的基本操作新增、删除、修改、查看等操作
- mysql数据库常用的基本SQL语句--数据库数据操作
- 数据库基本操作语句
- mssql数据库基本语句总结(1)