数据库基础(持续更新)
基于sql-server
数据库创建
不可以在系统数据库进行操作
一般新建数据库
-
右键数据库 -> 新建数据库
-
弹窗内输入数据库名称 修改数据库文件参数

-
确认数据库属性完成新建
使用T-SQL脚本新建数据库
CREATE DATABASE Stu_db2
on PRIMARY
(NAME=studio_db2,
FILENAME='D:\D_Data2\studio_db2.mdf',
SIZE=3mb,
MAXSIZE=unlimited,
FILEGROWTH=10%
),
FILEGROUP studio_new_group
(name=studio_db_new,
filename='D:\D_Data2\studio_db_new.ndf',
size=3mb,
maxsize=300mb,
filegrowth=0
)
log on
(name=studio_log,
filename='D:\D_Data2\studio_log.log',
size=3mb,
maxsize=20mb,
filegrowth=1mb
)
之后刷新数据库,就能看到新建的数据库了
数据库文件与文件组
文件

文件组
- 主文件组
- 用户自定义文件组
- 默认文件组
增加文件和文件组
USE Stu_db2 --指定使用的数据库
Go--执行上面的脚本,可以不写
--向数据库增加新文件组
ALTER DATABASE Stu_db2 ADD FILEGROUP File_group2
GO
--向数据库中增加新文件
ALTER DATABASE Stu_db2 ADD FILE
(
NAME=N'new_datafile2',
FILENAME=N'D:\D_Data2\new_datafile2.ndf',
SIZE=3072KB,
FILEGROWTH=1024KB
)
TO FILEGROUP File_group2 --指定新文件在哪个文件组
GO-- N'xxx' 标识将单引号中的xxx强制转换为Unicode编码的字符,不用在中文情况下会出现乱码。因为在英文中常用的是ASCII码(一个字符占一个字节),而我们用的中文一个汉字就要占两个字节所以要用N'xxx'强制转换为Unicode编码的字符,这样单引号中不管是英文字符还是汉字一个都占两个字节,统一起来,不会出现乱码
删除文件和文件组
删除文件组时必须先删除文件组的所有文件
USE Stu_db2
GO
--删除文件
ALTER DATABASE Stu_db2 REMOVE FILE new_datafile2--不需要加扩展名
GO
--删除文件组
ALTER DATABASE Stu_db2 REMOVE FILEGROUP File_group2
GO
修改文件和文件组属性
USE Stu_db2
--修改文件组名称
ALTER DATABASE Stu_db2
MODIFY FILEGROUP File_group2 NAME=anygroup
GO
--修改文件名称
ALTER DATABASE Stu_db2
MODIFY FILE(name=new_datafile2,newname=anyname)
GO
--修改文件组中全部文件为只读
ALTER DATABASE Stu_db2
MODIFY FILEGROUP anygroup READONLY
GO
--修改文件组中全部文件为只写
ALTER DATABASE Stu_db2
MODIFY FILEGROUP anygroup READWRITE
GO
删除数据库
-
在SSMS通过右键数据库删除
-
DROP DATABASE Stu_db2,Stu_db3,...n--加,和其他数据库名称可以同时删除多个数据库 -
注意
- 四个系统数据库不可删除
- 正在使用的数据库不可删除
- 数据库删除之后,文件及其数据都从服务器上的磁盘中被删除(永久删除)
修改数据库属性
USE Stu_db2
GO
--修改文件大小
ALTER DATABASE Stu_db2
MODIFY FILE(NAME=anyname,size=20mb)
GO
--移动文件位置
ALTER DATABASE Stu_db2
MODIFY FILE(NAME=anyname,FILENAME=N'D:\D_Data\anyname.ndf')
GO
--更改数据库选项
ALTER DATABASE Stu_db SET SINGLE_USER--单用户
ALTER DATABASE Stu_db SET READ_ONLY--只读
ALTER DATABASE Stu_db SET AUTO_SHRINK ON--自动收缩
GO
浙公网安备 33010602011771号