DROP DATABASE

名称

DROP DATABASE — 删除一个现有数据库.

语法

DROP DATABASE name

输入

name
要被删除的数据库名.

输出

DROP DATABASE
如果命令成功执行,返回此命令.
ERROR: user 'username' is not allowed to create/drop databases
要删除数据库你必须有特殊的 CREATEDB 权限。参阅 CREATE USER
ERROR: dropdb: cannot be executed on the template database
template1 数据库不能被删除。它和你无关。
ERROR: dropdb: cannot be executed on an open database
你无法与你要删除的数据库建立联接。你可以与 template1 或者任何其他数据库联接然后再次运行这条命令。
ERROR: dropdb: database 'name' does not exist
如果声明的数据库不存在,返回此信息.
ERROR: dropdb: database 'name' is not owned by you
你必须是数据库所有者。数据库所有者通常也意味着你是创建者。
ERROR: dropdb: May not be called in a transaction block.
执行这条命令之前你必须先结束正在处理的事务。
NOTICE: The database directory 'xxx' could not be removed.
数据库被删除了(否则会有其他错误信息),但是存储数据的目录无法删除。你必须手工删除之。

描述

DROP DATABASE 删除一个现存数据库的目录入口并且删除包含数据的目录.只有数据库所有者能够执行这条命令(通常也是数据库创建者).

注意

这条命令在和目标数据库联接时不能执行.通常更好的做法是用 dropdb脚本代替,该脚本是此命令的一个封装。

请参考 CREATE DATABASE 语句获取如何创建数据库的信息.

兼容性

SQL92

DROP DATABASE 是一个 Postgres 语言的扩展.在 SQL92 中没有 DROP DATABASE.