SQL Server 数据库:SQL 中创建、修改和删除数据库

什么是数据库?

数据库是对象的集合,例如表、视图、存储过程、触发器、函数等。

举几个现实生活中的例子

  • 我们有放书的书架,
  • 我们有居住的家,
  • 我们有停放车辆的停车场,等等不胜枚举。

同样,我们有数据库,它是一种存放我们所有相互关联的表、视图、存储过程等的“家”。

从技术上讲,数据库以一种有组织的方式存储数据,以便于访问和检索。在SQL Server中,数据库有两种类型:

  1. 系统数据库:系统数据库在安装 SQL Server 时会自动为您创建。它们在服务器中起着至关重要的作用,尤其是在确保数据库对象正确运行时。SQL Server 系统数据库的例子包括:Master、MSDB、Model、Tempdb、Resource
  2. 用户数据库:用户数据库是由像您这样的数据库用户创建的,这些用户被授予了创建数据库的权限。

创建数据库的规则

首先,我们需要了解创建新数据库的基本规则

  • 数据库名称在 SQL Server 实例中必须是唯一的。
  • 数据库名称最多可以包含 128 个字符。
  • CREATE DATABASE 语句必须在自动提交模式下运行。
Rules to Create a Database
创建数据库的规则

在 SQL Server 中创建数据库有 2 种方法。

  1. SQL Server Management Studio
  2. Transact-SQL

如何在 SQL Server Management Studio 中创建数据库

以下是在SQL Server Management Studio中创建数据库的步骤

步骤 1)在“对象资源管理器”窗口中右键单击“数据库”,然后选择“新建数据库”。

 Create Database in SQL Server Management Studio

步骤 2)将出现“新建数据库”屏幕。输入“数据库名称”。请注意:“逻辑名称”列将自动填充为

  1. Edu | 文件类型:Rows 和文件组:PRIMARY
  2. Edu_log | 文件类型:LOG 和文件组:“不适用”

 Create Database in SQL Server Management Studio

这里

A) Edu | 文件类型:Rows 和文件组:PRIMARY 是 .mdf 文件

B) Edu_log | 文件类型:LOG 和文件组:“不适用”是 .ldf 文件

步骤 3)(可选)对于更复杂的设置,我们可以导航到“选项”和“文件组”。在初学者级别,从“常规”选项卡创建数据库就足够了。

Create Database in SQL Server Management Studio

步骤 4)单击“添加”。

Create Database in SQL Server Management Studio

结果:已创建“Edu”数据库。

Create Database in SQL Server Management Studio

我们可以展开数据库“Edu”,它将包含表、视图等。这些在用户创建新表、视图等之前最初是空白的。

查看源查询

您可以通过以下方式查看新创建的“Edu”数据库的源查询:导航:右键单击数据库名称 > 脚本数据库为 > 创建到 > 新建查询编辑器窗口。

Create Database in SQL Server Management Studio

查询窗口

Create Database in SQL Server Management Studio

创建脚本

USE [master]
GO

CREATE DATABASE [Edu]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

使用 T-SQL 创建数据库

另一种方法是编写 T-SQL 查询来创建数据库并执行它。

让我们来看一个最简单的数据库创建 T-SQL 查询。

语法

CREATE DATABASE <Database_name>

查询

CREATE DATABASE [Edu_TSQL_file]

单击“执行”

Create Database with T-SQL

结果:我们可以在 SQL 对象资源管理器中看到 Edu_TSQL 已创建。

Create Database with T-SQL

让我们看看当我们想使用 .mdf 和 .ldf 文件创建数据库时。在这里,我们可以将位置作为我们查询的隐式部分。

语法

CREATE DATABASE database_name   
[ CONTAINMENT = { NONE | PARTIAL } ]  
[ ON   
      [ PRIMARY ] <filespec> [ ,...n ]   
      [ , <filegroup> [ ,...n ] ]   
      [ LOG ON <filespec> [ ,...n ] ]   
];

查询

CREATE DATABASE [Edu_TSQL_file]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu_TSQL_file', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_TSQL_file_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

Create Database with T-SQL

如何修改数据库

就像创建数据库的查询一样,我们也可以修改数据库。我们可以重命名数据库名称、更改文件位置和设置等。

修改新数据库的基本规则

  • ALTER DATABASE 语句必须在自动提交模式下运行。
  • 不允许在显式或隐式事务中使用 ALTER DATABASE。

在 SQL Server 中修改数据库有 2 种方法。

  1. SQL Server Management Studio
  2. Transact-SQL。

如何在 SQL Server Management Studio 中修改数据库

以下是在 SQL Server Management Studio 中修改数据库的步骤

让我们尝试修改我们预先创建的数据库“Edu”的名称。

Alter Database in SQL Server Management Studio

步骤 1) 重命名数据库

右键单击数据库名称。点击“重命名”。

Alter Database in SQL Server Management Studio

步骤 2) 输入新数据库名称

数据库名称将可编辑。输入新名称,然后按 Enter 键。

Alter Database in SQL Server Management Studio

结果:数据库名称已从“Edu”重命名为“Edu_Alter”。

Alter Database in SQL Server Management Studio

使用 Transact-SQL 修改数据库

现在让我们使用 T-SQL 修改数据库

语法

ALTER DATABASE <Databse_name>              
MODIFY NAME = <New Name>

查询

ALTER DATABASE Edu_TSQL
MODIFY NAME = Edu_TSQL_Alter;

通过单击“执行”来运行上述查询。

结果:数据库名称已从“Edu_TSQL”重命名为“Edu_TSQL_Alter”。

Alter Database with Transact-SQL

通用语法

ALTER DATABASE { database_name  | CURRENT }  
{   MODIFY NAME = new_database_name   
  | COLLATE collation_name  
  | <file_and_filegroup_options>  
  | SET <option_spec> [ ,...n ] [ WITH <termination> ] 
  | SET COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 | 90 }   
} ;

更改 .mdf/.ldf 文件名

查询

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL, NEWNAME = Edu_TSQL_newName );

Alter Database with Transact-SQL

更改 .mdf/.ldf 文件位置

查询

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL_NewName, FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\New_File\Edu_TSQL_log.ldf' );

Alter Database with Transact-SQL

删除数据库

在 SQL Server 中删除数据库有 2 种方法。

  1. SQL Server Management Studio
  2. Transact-SQL。

如何在 SQL Server Management Studio 中删除数据库

以下是在 SQL Server Management Studio 中删除数据库的过程

让我们尝试删除我们预先创建的数据库“Edu_Alter”。

步骤 1)右键单击数据库。单击“删除”,然后单击“确定”。

Drop Database in SQL Server Management Studio

结果:“Edu_Alter”已从“对象资源管理器”数据库列表中删除。

Drop Database in SQL Server Management Studio

使用 Transact-SQL 删除数据库

让我们尝试删除我们预先创建的数据库“Edu_TSQL_Alter”。

语法

DROP DATABASE <Databse_name>

查询

USE master;  
GO  
DROP DATABASE Edu_TSQL_Alter;  
GO

通过单击“执行”来运行上述查询。

结果:“Edu_TSQL_Alter”已从“对象资源管理器”数据库列表中删除。

Delete Database using Transact-SQL

在 SQL Server 中恢复数据库

您可以通过恢复先前备份的数据库来创建数据库。这可以通过运行恢复数据库命令来完成,该命令遵循以下语法

restore Database <database name> from disk = '<Backup file location + filename>

查询应在查询窗口中执行,就像之前的命令一样。例如

restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'

您也可以使用 GUI 导航:右键单击数据库 > 恢复数据库 > 设备 > 导入文件 > 单击确定。

摘要

  • 我们可以使用 SQL Management GUI 和 T-SQL 来执行所有三个操作:创建、修改和删除数据库。
  • SQL Server 实例最多可以指定 32,767 个数据库。
  • 系统数据库不能被删除。
  • 创建、修改和删除:所有操作都对大小写不敏感。我们可以使用大写和小写作为语法。