SQL Server数据库的创建(create)、修改(alter)、删除(drop)

一、预备知识

1、SQL介绍

👉 数据库系统原理与设计(3) ——【SQL介绍】

2、SQL Server中数据库的分类

2.1、 系统数据库
① 含义:存储数据库系统本身运行所需的全部数据的数据库(自动创建)
② 包括 master数据库、mode数据库、msdb数据库、tempdb数据库、Resource数据库
系统库做到不删不改

2.2、用户数据库
保存与用户业务有关的数据

3、数据库文件
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 显示该数据库信息


2)通过SQL Server Management Studio(SSMS)创建数据库

① 打开SSMS连接数据库后,展开根目录,右键【数据库点击【新建数据库
② 弹出如下窗口

三、修改数据库 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
-- 2、使用SP命令
exec sp_renamedb 'Stu_DB','Student_DB'

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

🍅 跟着 🤸‍♀️系列🤸‍♂️ 走

👉 SQL Server数据表的创建、删除、修改、查询


🍅🍅🍅 以往文章 👇

  • 11
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值