删除数据库企业版Aura 不可用
可以使用 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 明确表示使用该命令的默认行为。
|
对于标准数据库,使用 |