1.创建数据库CREATE
创建数据库语句的基本格式:
CREATE DATABASE database_name
[ON
[ PRIAMRY ] [<filespec> [ ,...n]]
]
[LOG ON
[<filespec> [ ,...n]]
];
<filespec>::=
(
NAME=logical_file_name
[,NEWNAME = new_logical_name]
[,FILENAME = { 'os_file_name' | 'filepathname_path' } ]
[,SIZE = size[ KB | MB | GB | TB ]]
[,MAXSIZE = { maxsize [ KB | MB | GB | TB] | UNLIMITED } ]
[,FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
);
CREATE DATABASE test --数据库名称为test
ON
(
NAME = test_db, --数据库主数据文件名称为test(逻辑数据文件名)
FILENAME = 'F:\sql server\test_db.mdf', --主数据文件存储位置(操作数据文件路径和文件名)
--执行上一句代码时必须保证路径'F:\sql server'已经存在,否则代码执行过程会出错
SIZE = 6, --数据文件大小,默认单位为MB
MAXSIZE = 10, --最大增长空间为MB
FILEGROWTH = 1 --文件每次的增长大小为MB(或文件增长率20%)
)
LOG ON
(
NAME = test_log,
FILENAME = 'F:\sql server\test_db_log.ldf',
SIZE = 1MB,
MAXSIZE = 2MB,
FILEGROWTH = 1
)
GO
执行结果如下:
/*
指定文件组,创建一个多数据文件和日志文件的数据库
数据库名称:student
数据文件:student_data 分配20MB,属于文件组PRIMARY;
student_data1和student_data2各分配10MB,属于文件组studentGroup.
事务日志文件:student_log ,1个,10MB
*/
CREATE DATABASE student
ON PRIMARY --下面主文件属于主文件组
(
NAME = student_data, --对应数据库第一个逻辑文件名
FILENAME = 'F:\sql server\student_data.mdf', --对应的主文件名和存储位置
SIZE = 20,
MAXSIZE = 150,
FILEGROWTH = 10% --空间按10%增长
),
FILEGROUP studentGroup --指定新的文件组,下面的文件属于studentGroup文件组
(
NAME = student_data1, --对应数据库第二个文件名
FILENAME = 'F:\sql server\student_data1.ndf', --对应的第一个次文件名和存储位置
SIZE = 10,
MAXSIZE = 100,
FILEGROWTH = 1 --空间按1MB增长
),
(
NAME = student_data2, --对应数据库第三个逻辑文件名
FILENAME = 'F:\sql server\student_data2.ndf', --对应的第二个次文件名和存储位置
SIZE = 10,
MAXSIZE = 100,
FILEGROWTH = 1
)
LOG ON --日志文件
(
NAME = student_log,
FILENAME = 'F:\sql server\student_log.ldf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 1
)
执行结果如下:
2.删除数据库 DROP
DROP DATABASE database_name
3.修改数据库 ALTER
基本语法格式如下:
ALTER DATABASE database_name -- 要修改的数据库的名称
ALTER DATABASE database_name -- 要修改的数据库的名称
{
ADD FILE <filespec> [,...n] [ TO FILEGROUP { filegroup_name } ] --添加新数据库文件到指定的文件组中
| ADD LOG FILE <filespec> [,...n ] --添加日志文件
| REMOVE FILE logical_name --从SQL Server 的实例中删除逻辑文件说明并删除物理文件,除非文件为空,否则无法删除文件。
| MODIFY FILE <filespec> --指定应修改的文件,一次只能更改一个<filespec>属性,必须在<flespec> 中指定NAME,以标识要修改的文件。如果指定了SIZE,那么新大小必须比文件当前大小要大。
| MODIFY NAME = new_database_name --使用指定的名称重命名数据库。
| ADD FILEGROUP filegroup_name --向数据库中添加文件组
| REMOVB FILEGROUP loggroup_rame --从数据库中删除文件组。除非文件组为空,否则无法将其删除。
| MODIFY FILEGROUP loggroup_name --通过將状态设置为READ_ONLY 或 READ_WRITE,将文件组设置为数据库的默认文件组或者更改文件组名称来修改文件组。
ADD FILE <filespec> [,...n] [ TO FILEGROUP { filegroup_name } ] --添加新数据库文件到指定的文件组中
| ADD LOG FILE <filespec> [,...n ] --添加日志文件
| REMOVE FILE logical_name --从SQL Server 的实例中删除逻辑文件说明并删除物理文件,除非文件为空,否则无法删除文件。
| MODIFY FILE <filespec> --指定应修改的文件,一次只能更改一个<filespec>属性,必须在<flespec> 中指定NAME,以标识要修改的文件。如果指定了SIZE,那么新大小必须比文件当前大小要大。
| MODIFY NAME = new_database_name --使用指定的名称重命名数据库。
| ADD FILEGROUP filegroup_name --向数据库中添加文件组
| REMOVB FILEGROUP loggroup_rame --从数据库中删除文件组。除非文件组为空,否则无法将其删除。
| MODIFY FILEGROUP loggroup_name --通过將状态设置为READ_ONLY 或 READ_WRITE,将文件组设置为数据库的默认文件组或者更改文件组名称来修改文件组。
}
<filespec>: :=
(
<filespec>: :=
(
NAME = logical_file_name
[ , NEWNAME = newlogical_name ]
[ , FILENAME = { 'os_file_name' I 'filestream_path' } ]
[ , SIZE = size = [ KB | MB | GB | TB ] ]
[ , MAXSIZE = (max_size [ KB | MB I GB I TB I UNLIMITED ] ]
[ , FILEGROWTH = growth_increment [ KB I MB I GB I TB I % ] ]
[ , OFFLINE ]
[ , NEWNAME = newlogical_name ]
[ , FILENAME = { 'os_file_name' I 'filestream_path' } ]
[ , SIZE = size = [ KB | MB | GB | TB ] ]
[ , MAXSIZE = (max_size [ KB | MB I GB I TB I UNLIMITED ] ]
[ , FILEGROWTH = growth_increment [ KB I MB I GB I TB I % ] ]
[ , OFFLINE ]
)
--将test数据库的名称改为mytest
ALTER DATABASE test
MODIFY NAME=mytest