SQL - 重命名数据库



重命名数据库名称可能有多种原因。其中一个原因可能是为了避免命名冲突或将不同类型的数据分离到不同的数据库中。另一个原因可能是为了以一种更有条理的方式组织它们,使它们更具描述性且更容易管理。

ALTER DATABASE...MODIFY 语句

SQL 中的ALTER DATABASE...MODIFY语句用于重命名 SQL 数据库服务器中现有数据库的名称。请注意,此命令在 MySQL 数据库中不起作用。

语法

以下是 ALTER DATABASE...MODIFY 命令的语法:

ALTER DATABASE OldDatabaseName MODIFY NAME = NewDatabaseName;

示例

以下是 SQL Server 中将数据库 testDB 重命名为 tutorialsDB 的 SQL 命令:

ALTER DATABASE testDB MODIFY NAME = tutorialsDB ; 

使用转储和重新导入重命名数据库

如果您想在MySQL中重命名数据库名称,则简单的方法是将整个数据库转储到一个 SQL 文件中,然后将其重新导入到一个新数据库中。这是一个三步过程,我们将在本教程中遵循。

步骤 1 - 转储旧数据库

假设您想将testDB数据库重命名为tutorialsDB。因此,我们首先使用 MySQL mysqldump命令将其转储到一个简单的 SQL 文件中。此操作将在命令行中执行,并且需要数据库用户名和密码,最好是管理员权限。

$ mysqldump -u username -p"password" -R testDB > testDB.sql

我们使用 -p 标记紧跟我们的密码连接到数据库,标记和密码之间没有空格。-R 是必需的,以便告诉mysqldump除了数据库中的普通数据外,还要复制存储过程和函数。

步骤 2 - 创建新数据库

下一步是使用mysqladmin提示符命令如下创建新数据库

$ mysqladmin -u username -p"password" create tutorialsDB;

步骤 3 - 导入旧数据库

最后一步是将旧数据库导入到新数据库中,如下所示

$ mysql -u username -p"password" tutorialsDB < testDB.sql;

步骤 4 - 验证(可选)

现在,您可以通过列出所有可用的数据库来验证更改

SHOW DATABASES;

输出

输出将显示为:

数据库
performance_schema
information_schema
mysql
testDB
tutorialsDB

步骤 5 - 验证(可选)

一旦您对更改感到满意,您可以删除旧数据库,如下所示

DROP DATABASE testDB;

使用 RENAME DATABASE...TO 在 SQL 中重命名数据库(已弃用)

SQL 提供了一个简单的RENAME DATABASE...TO语句来重命名现有数据库。如果要重命名数据库,请确保没有正在进行的活动事务,否则一旦重命名数据库,整个操作可能会停止。

注意:RENAME DATABASE...TO已弃用。

语法

以下是 RENAME DATABASE...TO 语句的语法:

RENAME DATABASE OldDatabaseName TO NewDatabaseName;

示例

在重命名数据库之前,让我们列出所有可用的数据库:

SHOW DATABASES;

输出将显示为:

数据库
performance_schema
information_schema
mysql
testDB

现在,发出以下命令将数据库testDB重命名为tutorialsDB

RENAME DATABASE testDB TO tutorialsDB;
在旧版本的 MySQL 中曾经有一个简单的 RENAME DATABASE 命令,用于重命名数据库,但 RENAME DATABASE 命令已从所有较新版本中删除,以避免安全风险。
广告