第3章:复习篇——第1节:创建和管理数据库

目录

一、使用datagrip软件创建数据库

1.数据库分类

2.数据库的文件组成

(1)数据库文件

(2)数据库文件组

二、使用T-SQL语句创建数据库

1.组成

2.语法格式与说明

(1)格式

[(2)T-SQL 语法说明](#(2)T-SQL 语法说明)

(3)参数说明

3.实战训练

(1)要求

(2)解析

三、数据库管理

1.新增文件组与文件

(1)新增文件组

(2)新增辅助数据文件、事务日志文件

(3)示例

2.删除文件组与文件

(1)新增文件组

(2)新增辅助数据文件、事务日志文件

(3)示例

3.修改文件组与文件

(1)格式

(2)示例

4.重命名用户数据库

[(1)使用alter database语句](#(1)使用alter database语句)

(2)调用系统内置存储过程sp_renamede

(3)示例

5.删除用户数据库

(1)格式

(2)示例


一、使用datagrip软件创建数据库

1.数据库分类

复制代码
-----数据库
    |-----系统数据库
    |   |
    |   |-----主数据库master
    |   |-----模板数据库model
    |   |-----msdb数据库
    |   |-----临时数据库tempdb
    |
    |-----数据库快照(用户数据库)
        |
        |-----eg:SCC
        |-----eg:Class

2.数据库的文件组成

(1)数据库文件

|--------|------|---------------------------|-----------|
| 文件名称 | 扩展名 | 作用 | 允许个数 |
| 主数据文件 | .MDF | 用于存放数据,是所有数据库文件的起点 | 仅有1个 |
| 辅助数据文件 | .NDF | 存放数据,存储主数据文件未存储的所有其他数据和对象 | 可有可无,可有多个 |
| 事务日志文件 | .LDF | 记录数据库中所有的事物和由这些事务引起的数据库变化 | 至少1个 |

(2)数据库文件组

①分类:主文件组primary与用户自定义文件组

②注意:只能用于一个数据库;主数据文件只属于primary文件组;文件组不适用于事务日志文件




二、使用T-SQL语句创建数据库

1.组成

  • 数据查询语言(DQL)
  • 数据操作语言(DML)
  • 事务控制语言(TCL)
  • 数据控制语言(DCL)
  • 数据定义语言(DDL)
  • 指针控制语言(CCL)

2.语法格式与说明

(1)格式

复制代码
CREATE DATABASE 数据库名
ON [ PRIMARY ]
( NAME= '数据文件的逻辑名称' ,
  FILENAME= '文件的路径和文件名' ,
  SIZE=文件的初始大小 ,
  MAXSIZE=文件的最大容量|UNLIMITED ,
  FILEGROWTH=文件的每次增长量 ) [ , ... n]
[FILEGROUP] 文件组名 ( ),( )
LOG ON
( NAME='事务日志文件的逻辑名称',
  FILENAME='文件的路径和文件名',
  SIZE=文件的初始大小,
  MAXSIZE=文件的最大容量|UNLIMITED,
  FILEGROWTH=文件的每次增长量 ) [ , ... n]

(2)T-SQL 语法说明

  • [ ]中的内容可用省略,省略时系统取值为默认值。
  • [,...n]表示的内容可用重复书写 n 次,但必须用逗号隔开。
  • |表示相邻的前后两项只能任取一项。
  • 一条语句可用分成多行书写,但是多条语句不允许写在一行。
  • 命令一旦设计成功,可以反复使用。
  • T-SQL 语句书写时不区分大小写,一般系统保留字大写,用户自定义的名称可用小写。

(3)参数说明

  • 数据库名称:新创建的数据库的名称,在 SQL Server 实例中必须唯一,且符合标识符规定。
  • ON:根据后面的参数创建数据库的主数据文件(.mdf)或辅数据文件(.ndf)。
  • LOG ON:根据后面的参数创建事务日志文件;省略时 SQL Server 自动创建一个日志文件。ON 和 LOG ON 引出的文件可以是多个,多个文件的小括号之间用英文逗号隔开。
  • PRIMARY:指定后续数据文件属于主文件组 PRIMARY;省略时,后续数据文件默认属于主文件组 PRIMARY。
  • FILEGROUP\] 文件组名:指定其后的辅数据文件属于该自定义文件组。

  • FILEGROWTH:设置文件每次增加的容量,单位可以是 MB 或 %;设置为 0 时表示文件不增长。
  • 必填项:无论创建哪种数据库文件,小括号内的NAMEFILENAME不能省略;其他(SIZE、MAXSIZE、FILEGROWTH)可省略,省略时按系统默认属性值设置。

3.实战训练

(1)要求

创建learn数据库,现在要求使用datagrip软件,按照下表使用T-SQL语句进行创建

(2)解析

复制代码
CREATE DATABASE learn
ON 
-- 主文件组(PRIMARY)及主数据文件
PRIMARY
(
    NAME = 'Goods_data1',
    FILENAME = 'D:\DBG\Goods_data1.mdf',
    SIZE = 20MB,
    MAXSIZE = 2000MB,
    FILEGROWTH = 64MB
),
-- 自定义文件组(GGROUP)及辅数据文件
FILEGROUP GGROUP
(
    NAME = 'Goods_data2',
    FILENAME = 'D:\DBG\Goods_data2.ndf',
    SIZE = 20MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 10%
)
-- 日志文件配置
LOG ON
(
    NAME = 'Goods_log1',
    FILENAME = 'D:\DBG\Goods_log1.ldf',
    SIZE = 8MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 64MB
),
(
    NAME = 'Goods_log2',
    FILENAME = 'D:\DBG\Goods_log2.ldf',
    SIZE = 8MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 64MB
);



三、数据库管理

1.新增文件组与文件

(1)新增文件组

复制代码
ALTER DATABASE 数据库名
ADD FILEGROUP 文件组名

(2)新增辅助数据文件、事务日志文件

复制代码
ALTER DATABASE 数据库名
ADD [LOG] FILE
( 
    NAME= 文件逻辑名称,
    FILENAME='文件的路径和文件名',
    SIZE= 文件的初始大小,
    MAXSIZE= 文件的最大容量|UNLIMITED,
    FILEGROWTH= 文件的每次增长量 
)

(3)示例

在 SCC 数据库中新增名为 newgroup 的文件组,并为该文件组添加 1 个辅数据文件 SCC_data3.ndf,同时为数据库添加一个事务日志文件 SCC_log3.ldf,文件属性都使用系统默认设置。

复制代码
-- 新增文件组newgroup
Alter Database SCC
Add Filegroup newgroup

-- 新增辅数据文件并指定到newgroup文件组
Alter Database SCC
Add File
(
    name= SCC_data3,
    filename='e:\DB\SCC_data3.ndf'
)
to Filegroup newgroup

-- 新增事务日志文件
Alter Database SCC
Add log File
(
    name= SCC_log3,
    filename='e:\DB\SCC_log3.ldf'
)

2.删除文件组与文件

(1)新增文件组

复制代码
ALTER DATABASE 数据库名
REMOVE FILEGROUP 文件组名

(2)新增辅助数据文件、事务日志文件

复制代码
ALTER DATABASE 数据库名
REMOVE FILE 逻辑文件名

(3)示例

删除 SCC 数据库中的 newgroup 文件组

复制代码
-- 删除辅数据文件SCC_data3
Alter Database SCC
Remove File SCC_data3

-- 删除文件组newgroup
Alter Database SCC
Remove Filegroup newgroup

3.修改文件组与文件

(1)格式

复制代码
ALTER DATABASE 数据库名
MODIFY FILE
( 
    NAME= '文件的逻辑名称',
    SIZE=文件的初始大小,
    MAXSIZE=文件的最大容量|UNLIMITED,
    FILEGROWTH=文件的每次增长量 
)

(2)示例

扩充 SCC 数据库的数据文件 SCC_data1(初始 10MB→目标 20MB)、事务日志文件 SCC_log1(初始 8MB→目标 16MB)。

复制代码
-- 扩充SCC_data1文件容量至20MB
Alter Database SCC
Modify file
( 
    NAME='SCC_data1 ',
    SIZE=20MB
)

-- 扩充SCC_log1文件容量至16MB
Alter Database SCC
Modify file
( 
    NAME='SCC_log1 ',
    SIZE=16MB
)

4.重命名用户数据库

(1)使用alter database语句

复制代码
ALTER DATABASE 原数据库名
MODIFY NAME=新数据库名

(2)调用系统内置存储过程sp_renamede

复制代码
SP_RENAMEDB 原数据库名, 新数据库名

(3)示例

将数据库 Test 重命名为 NewTest

复制代码
ALTER DATABASE Test
MODIFY NAME=NewTest

SP_RENAMEDB Test, NewTest

5.删除用户数据库

(1)格式

复制代码
DROP DATABASE 数据库名

(2)示例

删除名为的 Books 的数据库

复制代码
DROP DATABASE Books
相关推荐
p&f°3 小时前
PostgreSQL 执行计划控制参数详解
数据库·postgresql·oracle
云栖梦泽3 小时前
鸿蒙原子化服务开发实战:构建免安装的轻量应用
开发语言·鸿蒙系统
YY&DS3 小时前
《Qt 手写 HTTP 登录服务实战》
开发语言·qt·http
阿华hhh3 小时前
数据结构(树)
linux·c语言·开发语言·数据结构
雪域迷影3 小时前
Windows11中VS2026使用C++ 现代化json库nlohmann的3种方式
开发语言·c++·json
铉铉这波能秀3 小时前
正则表达式从入门到精通(字符串模式匹配)
java·数据库·python·sql·正则表达式·模式匹配·表格处理
sc.溯琛3 小时前
MySQL 进阶实验:数据库与数据表管理完全指南
数据库·oracle
步步为营DotNet3 小时前
深度剖析.NET中HttpClient的请求重试机制:可靠性提升与实践优化
开发语言·php·.net
zephyr053 小时前
C++ STL string 用法详解与示例
开发语言·c++