删除数据库
可以使用命令 DROP DATABASE
删除数据库。请注意,在删除数据库之前,必须先删除所有数据库别名。
语法
命令 | 语法 |
---|---|
|
|
示例
删除数据库
要删除数据库 customers
,请运行以下命令
DROP DATABASE customers
标准数据库和复合数据库都可以使用此命令删除。 |
DROP DATABASE
命令会彻底删除数据库。因此,它不再显示在 SHOW DATABASES
命令提供的列表中。
SHOW DATABASES YIELD name
+---------------------+ | name | +---------------------+ | "movies" | | "neo4j" | | "system" | +---------------------+
使用 IF EXISTS
删除数据库
DROP DATABASE
命令是可选幂等的,默认行为是如果数据库不存在则返回错误。
在命令后附加 IF EXISTS
可确保如果数据库不存在,则不返回错误,也不会发生任何操作。
如果存在指向该数据库的现有别名,则始终会返回错误。在这种情况下,需要在删除数据库之前删除该别名。
DROP DATABASE customers IF EXISTS
使用 DUMP DATA
或 DESTROY DATA
删除数据库
通过在 DROP DATABASE
命令后附加 DUMP DATA
,您可以在删除数据库之前创建存储文件的转储
DROP DATABASE movies DUMP DATA
在 Neo4j 中,转储可以存储在 server.directories.dumps.root
设置指定的目录中(默认情况下,存储转储的路径是 <neo4j-home>/data/dumps
)。您可以使用转储通过从 URI 种子方法创建数据库。
选项 DESTROY DATA
明确请求命令的默认行为。
|
使用 IF EXISTS
和 DUMP DATA
/DESTROY DATA
删除数据库
选项 IF EXISTS
和 DUMP DATA
/DESTROY DATA
也可以组合使用。
示例如下
DROP DATABASE customers IF EXISTS DUMP DATA
删除带有指向它的本地数据库别名的数据库
有两种方法可以删除作为本地数据库别名目标的数据库
-
首先删除本地数据库别名,然后使用
DROP DATABASE name
删除数据库。指向该数据库的远程数据库别名不影响数据库的删除,因此无需事先删除。 -
使用
DROP DATABASE name CASCADE ALIASES
在删除数据库的同时也删除指向它的本地数据库别名。如果任何被删除的数据库别名是复合数据库的组成部分,则这些复合数据库将不会被删除。此命令不影响指向被删除数据库的远程数据库别名。它们将简单地不再解析其目标,就像它们是在指向一个不存在的数据库时创建的一样。
使用 CASCADE ALIASES
需要 DROP ALIAS
权限。有关该权限的更多信息,请参阅 别名管理权限。
以下示例创建一个名为 movies
的数据库和一个指向它的本地数据库别名 films
CREATE DATABASE movies
CREATE ALIAS films FOR DATABASE movies
然后,可以使用以下命令删除数据库 movies
和本地数据库别名 films
DROP DATABASE movies CASCADE ALIASES
选项 RESTRICT
明确请求命令的默认行为。
对于标准数据库,使用 |