![](https://img-blog.csdnimg.cn/20200430183208859.png)
你好呀,我是调皮目录🤪,一点就跳👣
一、预备知识
1、SQL介绍
2、SQL Server中数据库的分类
2.1、 系统数据库
① 含义:存储数据库系统本身运行所需的全部数据的数据库(自动创建)
② 包括 master数据库、mode数据库、msdb数据库、tempdb数据库、Resource数据库
③ 系统库做到不删不改
2.2、用户数据库
保存与用户业务有关的数据
3、数据库文件
![](https://img-blog.csdnimg.cn/20200412083226679.png)
4、文件组
4.1、含义:将文件分为不同的组。用于将数据文件集合起来,以便用于管理、数据分配和放置。
4.2、分类
① 主文件组 primary | ② 用户自定义文件组 |
---|---|
系统定义,包含所有的系统表,主要数据文件和所有没有包含在其他文件组里的次要数据文件。 | 包含所有在使用 create database 或 alter database 命令时使用 filegroup 关键字来指定文件组的文件。 |
默认文件组为 primary 文件组 | 主要用于数据的分配 |
二、创建数据库 CREATE DATABASE
1、创建数据库的两种方式:
1)🔺 通过T-SQL语句创建数据库
2)通过SQL Server Management Studio(SSMS)创建数据库
1)🔺通过T-SQL语句创建数据库
① “胶己” 整理的 模板 ( DDL 数据定义语言之create)
/*
创建人:XXX
创建时间:XXXX 年 XX 月 XX 日
项目名称:XXX
*/
/*
一、创建数据库
1、主数据文件 .mdf
2、次要数据文件.ndf
3、日志文件 .ldf
4、文件具体参数(按需自定义)
5、养好习惯,数据文件命名后加_data,日志文件命名后加_log
6、name:逻辑文件名 filename:物理文件名
7、size:初始大小 .mdf默认值/最小值3MB .ldf默认值/最小值1MB
8、maxsize:增长最大值,未指定则自动增长到磁盘满
9、filegrowth:增长率(自动增量), 未指定则默认按10%增长 ① 按百分比% ②按MB
*/
use master -- 指定使用master数据库
-- 检查该数据库是否已存在,若有则删之
if exists (select * from sysdatabases where name = 'database_name')
drop database database_name
go
create database database_name
on primary -- 指定为主数据(primary)文件,没有指定默认第一个文件primary文件,因此可省略
(
name = '项目名_data1', -- 养好习惯,数据文件命名后加_data
filename = 'D:\SQLServer\项目名_data1.mdf', -- 主要数据文件.mdf (必须有)
size = 初始大小, --如:1024MB
maxsize = 增长最大值, --如:4096MB
filegrowth = 增长率 --如:20MB
)
, -- 勿漏
(
name = '项目名_data2',
filename = 'D:\SQLServer\项目名_data2.ndf', -- 次要数据文件.ndf(可有可无,可任意多个)
size = 1024MB,
maxsize = 4096MB,
filegrowth = 5%
)
log on -- 自动创建日志文件
(
name = '项目名_log', -- 养成好习惯,日志文件命名后加_log
filename = 'D:\SQLServer\项目名_log.ldf', -- 日志文件.ldf (必须有)
size = 1000MB,
maxsize = 2000MB,
filegrowth = 6%
)
② “栗栗” 更清晰
/*
创建人:<0
创建时间:2020 年 4 月 12 日
项目名:学生管理系统
*/
use master
if exists (select * from sysdatabases where name = 'Student_DB')
drop database Student_DB
go
create database Student_DB
on primary
(
name = 'Student_data1',
filename = 'D:\SQLServer\Student_data1.mdf',
size = 1024MB,
maxsize = 4096MB,
filegrowth = 20MB
)
,
(
name = 'Student_data2',
filename = 'D:\SQLServer\Student_data2.ndf',
size = 1024MB,
maxsize = 4096MB,
filegrowth = 5%
)
log on
(
name = 'Student_log',
filename = 'D:\SQLServer\Student_log.ldf',
size = 1000MB,
maxsize = 2000MB,
filegrowth = 6%
)
③ 效果截图
④ 用SP命令 sp_helpdb 显示该数据库信息
![](https://img-blog.csdnimg.cn/2020041222155225.png)
2)通过SQL Server Management Studio(SSMS)创建数据库
① 打开SSMS连接数据库后,展开根目录,右键【数据库】,点击【新建数据库】
② 弹出如下窗口
![](https://img-blog.csdnimg.cn/20200412162623203.png)
三、修改数据库 ALTER DATABASE
1、 “胶己” 整理的 模板 配 “栗子”(DDL 数据定义语言之alter)
1)重命名数据库名
① 模板
use master -- 指定使用 master数据库
/* 重命名数据库名称 */
-- 1、使用 modify
alter database olddb_name
modify name = newdb_name
-- 2、使用SP命令
-- 注:只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行 sp_renamedb
exec sp_renamedb 'olddb_name','newdb_name'
② “栗子”
use master
/* 重命名数据库名 */
-- 1、使用 modify
alter database Student_DB -- 将原数据库名Student_DB
modify name = Stu_DB -- 改为新数据库名Stu_DB
![](https://img-blog.csdnimg.cn/20200413142650138.png)
-- 2、使用SP命令
exec sp_renamedb 'Stu_DB','Student_DB'
![](https://img-blog.csdnimg.cn/20200413142839970.png)
2)移动次要数据文件位置,并修改参数值
① 模板
/* 移动次要数据文件位置,并修改参数值 */
alter database database_name
modify file
(
name = '项目名_data',
filename = 'D:\新文件名\项目名_data.ndf',
size = 初始大小,
maxsize = 增长最大值,
filegrowth = 增长率
)
3)增加新文件组和文件
① 模板
/* 增加新文件组 */
alter database database_name add filegroup fg_name
go
/* 增加新次要数据文件*/
alter database database_name add file
(
name = '项目名_data',
filename = 'D:\SQLServer\项目名_data.ndf',
size = 初始化,
maxsize = 增长最大值,
filegrowth = 增长率
)to filegroup fg_name --添加到指定文件组中
go
② “栗子”
-- 增加新文件组file_group2
alter database Student_DB add filegroup file_group2
go
-- 增加次要数据文件
alter database Student_DB add file
(
name = 'Student_data3',
filename = 'D:\SQLServer\Student_data3.ndf',
size = 1024MB,
maxsize = 2048MB,
filegrowth = 6%
)to filegroup file_group2
go
4)删除文件组和次要数据文件
① 模板
/* 删除文件组和次要数据文件 */
-- 删除文件组
-- 注:当文件组内无文件时,删除成功;否则,删除失败。(吃下"栗子")
alter database database_name
remove filegroup 文件组名
-- 删除次要数据文件
alter database database_name
remove file 文件名
② “栗子”
/*
回顾:前面(3)中 增加新次要数据文件Student_data3 到 新文件组file_group2
现在我们尝试删除文件组file_group2
*/
-- 删除文件组file_group2
alter database Student_DB
remove filegroup file_group2
执行 报错
解决 方案
-- 先删除次要数据文件
alter database Student_DB
remove file Student_data3
-- 将文件组清空,再删除文件组file_group2
alter database Student_DB
remove filegroup file_group2
正确 执行结果
四、删除数据库 DROP DATABASE
① 模板
删除数据库
drop database database_name
② “栗子”
-- 删除数据库Student_DB
drop database Student_DB
🍅 跟着 🤸♀️系列🤸♂️ 走
🍅🍅🍅 以往文章 👇
![](https://img-blog.csdnimg.cn/20200418235759395.jpg)