目录
[(2)T-SQL 语法说明](#(2)T-SQL 语法说明)
[(1)使用alter database语句](#(1)使用alter database语句)
一、使用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 时表示文件不增长。
- 必填项:无论创建哪种数据库文件,小括号内的
NAME和FILENAME不能省略;其他(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