数据库是我们可以存储业务数据的位置。数据库使用表以规范化的方式存储我们的信息。因此,通过在 SQL Server 中创建数据库,我们可以轻松地选择、更新和删除业务数据。
在 SQL Server 中创建数据库的查询语法如下所示。
CREATE DATABASE DName
让我们通过每个示例来看看如何在 SQL Server 中创建数据库、重命名和删除数据库。在我们开始创建新数据库之前,让我们看看服务器中可用的数据库列表。当前实例中可用的数据库列表是。

如何在 SQL Server 中创建数据库示例
在此示例中,我们创建一个名为 New_Database 的新数据库。因此,在 服务器 查询窗口中将 DName 替换为 New_Database。
CREATE DATABASE New_Database;
单击“执行”按钮以执行命令。
命令已成功执行,您可以在我们的对象资源管理器中看到 New_Database。如果您在 SQL Server 对象资源管理器中没有找到新创建的数据库,请单击刷新按钮。

让我们看看当我们再次执行相同的创建数据库命令时会发生什么。它抛出错误,提示:New_database 已存在。请选择不同的名称。

如何检查数据库名称是否存在?
在组织中,我们可能拥有也可能不拥有了解可用数据库的权限。因此,始终建议检查名称是否已存在。这可以通过两种方式完成
以下 SQL Server 语句仅在系统中没有 New_database 时才执行创建数据库语句。
IF NOT EXISTS
(
SELECT name FROM master.dbo.sysdatabases
WHERE name = N'New_Database'
)
CREATE DATABASE [New_Database]
我们只是将 If Not Exists 替换为 If Exists 并添加了一个 select 语句来显示消息。以下语句涉及的步骤是
- Select 语句将在系统中检查数据库名称 New_database。
- 如果 New_database 已存在,则以下查询将显示一条消息,提示数据库已存在。
- 如果数据库不存在,则只执行以下 else 块代码。这意味着 SQL Server 创建数据库命令仅在系统数据库中没有 New_database 时才执行
IF EXISTS
(
SELECT name FROM master.dbo.sysdatabases
WHERE name = N'New_Database'
)
BEGIN
SELECT 'Database Name already Exist' AS Message
END
ELSE
BEGIN
CREATE DATABASE [New_Database]
SELECT 'New DB is Stored'
END

如何在 SQL Server Management Studio 中创建数据库?
要创建新数据库,首先,打开 Management Studio。右键单击下面显示的文件夹,然后从上下文菜单中选择“新建...”选项。

选择选项后,将打开以下窗口。这里我们保留所有者为默认值,数据库名称为 New_database,如下所示。单击“确定”创建新数据库。

让我们看看当我们使用现有名称创建数据库时会发生什么。正如您所观察到的,它正在抛出错误

如何在 SQL Server 中删除数据库?
要删除数据库,我们可以简单地使用以下语法,Drop 的语法是
DROP DATABASE [DName]
在此示例中,我们将删除 New_Database。因此,您必须将 [DName] 替换为所需的名称。因此,在查询窗口中,请编写以下 Drop Database 查询。
让我们看看当我们再次执行相同的 Drop 命令时会发生什么

上面的屏幕截图显示它正在抛出错误,提示:它不存在。更好的方法是检查名称是否存在。因为有时,您的同事或团队负责人可能会删除您尝试删除的数据库。
IF EXISTS
(
SELECT name FROM master.dbo.sysdatabases
WHERE name = N'New_Database'
)
DROP DATABASE [New_Database]
Messages
-------
Command(s) completed successfully.
If exists 块中的 select 语句将检查数据库名称 New_database 是否在系统中。如果为 True(数据库存在),则只执行下一个 DROP 语句。否则,它将跳过并且不执行删除。
如何在 SQL Server 中重命名数据库?
要重命名数据库,我们可以简单地使用系统存储过程 sp_renamed,语法是
SP_RENAMEDB [Old Name],[New Name]
在此示例中,我们将 New_Dt 重命名为 New_Db。因此,在查询窗口中,请编写以下查询。
SP_RENAMEDB [New_Dt],[New_Db]
Messages
-------
The name 'New_Db' has been set.
重命名数据库以及文件
本节向您展示如何重命名数据库以及文件(MDF 和 LDF)。为此重命名数据库演示,我们创建了一个数据库 OldNameDB。

以下查询将向您显示逻辑文件名和数据库的物理位置。
USE master GO SELECT name, physical_name, type_desc, state_desc, size FROM sys.master_files WHERE database_id = DB_ID(N'NewNameDB') GO

使用查询重命名数据库
通常,我们使用 sp_renamedb 存储过程来重命名数据库。但是,这只会更改此处显示的名称。
EXEC sp_renamedb 'NewNameDB', 'OldNameDB'
Messages
--------
The name 'NewNameDB' has been set.
您可以在 SQL Server 对象资源管理器中看到新名称

让我执行以下 数据库 查询
USE master GO SELECT name, physical_name, type_desc, state_desc, size FROM sys.master_files WHERE database_id = DB_ID(N'NewNameDB') GO
从输出中可以看出,sp_renamedb 没有更改逻辑数据库名称或代表数据库的文件。

让我将数据库重命名为 OldNameDB,并按指定方式执行以下操作。
重命名数据库以及文件
在 SQL Server 中重命名数据库以及文件涉及修改 MDF 和 LDF 文件名。它将修改数据库的逻辑名称。
-- Set the db to Single User ALTER DATABASE OldNameDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE ALTER DATABASE OldNameDB MODIFY FILE (NAME = N'OldNameDB', NEWNAME = N'NewNameDB') GO ALTER DATABASE OldNameDB MODIFY FILE (NAME = N'OldNameDB_log', NEWNAME = N'NewNameDB_log') GO

它将分离 OldNameDB 数据库。分离数据库后,您可以在物理位置修改文件名。
USE master GO EXEC sp_detach_db @dbname = N'OldNameDB' GO
Messages
--------
Commands completed successfully.
导航到数据库的位置

我们重命名了 MDF 和 LDF 名称

它将使用我们之前更改的文件名创建一个名为 NewNameDB 的新数据库。
USE master GO CREATE DATABASE NewNameDB ON (FILENAME = N'C:\Program Files\Microsoft ...\MSSQL14.MSSQLSERVER\MSSQL\DATA\NewNameDB.mdf'), (FILENAME = N'C:\Program Files\Microsoft .....\MSSQL14.MSSQLSERVER\MSSQL\DATA\NewNameDB_log.ldf') FOR ATTACH GO
Messages
--------
Commands completed successfully.
现在您可以看到具有新名称的数据库

让我看看逻辑文件名和文件
USE master GO SELECT name, physical_name, type_desc, state_desc, size FROM sys.master_files WHERE database_id = DB_ID(N'NewNameDB') GO

我想我忘了将数据库设置为多用户。
ALTER DATABASE NewNameDB SET MULTI_USER GO
Messages
--------
Commands completed successfully.