目录
1、数据库的概念和操作
1.1 物理数据库
1. SQL SERVER 2014的三种文件类型
2. 数据库文件组
1.2 逻辑数据库
2、数据库的操作
2.1 T-SQL的语法格式
2.2 创建数据库
2.3 修改数据库
2.4 删除数据库
3、数据库的附加和分离
1、数据库的概念和操作
1.1 物理数据库
数据库在磁盘上以文件为单位存储,SQL Server 2014将数据库映射为一组操作系统文件。
1. SQL SERVER 2014的三种文件类型
主数据文件(.mdf):每个数据库有且仅有一个主数据文件.。
辅助数据文件(次数据文件,.ndf):0~N个,主数据文件容量不足,存到辅助数据文件。
事务日志文件(.ldf):>=1个,用于恢复数据库的日志信息。
2. 数据库文件组
文件的集合,简化数据的存放和管理。
主文件组(primary):主数据文件+未放入其他文件组的辅助数据文件。
用户定义文件组:可以收集辅助数据文件。
1.2 逻辑数据库
数据库是存储数据的容器。
组成数据库的逻辑成分,为数据库对象,SQL Server 2014包括表,视图,存储过程,触发器,函数等等。数据库+数据库对象的创建,修改,删除用的是DDL。
SQL Server 2014有两类数据库,系统数据库和用户数据库。
系统数据库
1. master 数据库
master 数据库是SQL Server 2014中最重要的数据库,是整个数据库服务器的核心,存放基本信息,应定期备份。
2. model 数据库
model 数据库是SQL Server 2014中创建数据库的模板。
3. msdb 数据库
msdb 数据库提供运行SQL Server Agen任务的信息 SQL Server Agent是SQL Server中的一个Windows服务,用来运行制定的计划任务。
4. tempdb 数据库
tempdb 数据库是SQL Server 2014中的一个临时数据库,存放临时变量和中间结果,关闭SQL Server 2014,tempdb数据库内容会被清空。
2、数据库的操作
2.1 T-SQL的语法格式
{ }:里面的内容必须写。
[ ]:里面的内容可选。
[,...n]:可写多个,用,分隔。
A | B | C:只能选一个。
< >:是一个语法块。
接下来的代码,
全大写的单词->关键字(关键字不区分大小写,我是为了是代码更清晰,才全大写)
小写的单词->用户自己定义
注意:数据库中的字符串用单引号。'D:\data\student_data.mdf',路径用 \ 。
2.2 T-SQL创建数据库
CREATE DATABASE database_name
[ON [PRIMARY]
<filespec>[,...n]]
[,FILEGROUP filegroup_name
<filespec>[,...n]]
[LOG ON
<filespec>[,...n]]
<filespec> ::={(
NAME = logic_file_name, -- 逻辑名是数据库中文件名,没有后缀名。
FILENAME = '', -- 文件的路径,有后缀名。
[,SIZE = size[KB|MB|GB|TB] -- 默认MB
[,MAXSIZE = {maxsize[KB|MB|GB|TB] | UNLIMITED}] -- 默认MB
[,FILEGROWTH = growth_increment[KB|MB|GB|TB|%]]) -- 默认MB
}
例:
-- 先在D盘创建data文件夹
create database student
on primary(
name = 'student_data',
filename = 'D:\data\student_data.mdf',
size = 5,
maxsize = 20,
filegrowth = 5%)
,filegroup fp1(
name = 'student_1',
filename = 'D:\data\student_1_data.ndf',
size = 2,
maxsize = 20,
filegrowth = 1
)
log on(
name = 'student_log',
filename = 'D:\data\student_log.ldf',
size = 3,
maxsize = 10,
filegrowth = 1)
2.3 T-SQL修改数据库
一次只能执行一个命令。
ALTER DATABASE database_name
{ADD FILE<filespec>[,...n][TO FILEGROUP filegroup_name] -- 一般添加数据文件
|ADD LOG FILE<filespec>[,...n] -- 添加日志文件
|REMOVE FILE logic_file_name -- 删除数据或日志文件
|MODIFY FILE<filespec> -- 修改数据或日志文件
|ADD FILEGROUP filegroup_name -- 添加文件组
|REMOVE FILEGROUP filegroup_name -- 删除文件组
|MODIFY NAME = new_dbname -- 修改数据库名
}
也可以使用sp_renamedb old_name new_name,改数据库名 。
如:修改文件的大小
-- 如:修改文件的大小
alter database student
modify file(
name = 'student_1',
filename = 'D:\data\student_1_data.ndf',
size = 8
)
2.4 T-SQL删除数据库
DROP DATABASE database_name[,...n]
3、数据库的附加和分离
用于数据库的备份或迁移操作。