数据库SQL Server基础操作命令(一)创建数据库

创建数据库语句CREATE DATABASE,其语法格式如下:

CREATE DATABASE database_name
[ON [PRIMARY] [<filespec>[,...n] ] [,<filegroupspec>[,...n] ]
 [LOG ON {<filespec>[,...n] } ]
 [COLLATE collation_name]
 [FOR ATTACH]

[ ]:表示可选语法项,省略时各参数取默认值。

[,...n]:表示该项内容可以重复多次

{ }:表示必选项,当有相应字句时,{ }中的内容是必选的。

< >: 表示在实际的语句中要有相应内容替代

字母大写:说明该文字时T-SQL的关键字

字母小写:说明该文字是用户提供的T-SQL语法的参数

database_name:用户所要创建的数据库名称,最长不能超过128个字符,在一个SQL Server实例中数据库名称是唯一的。

ON:指定存放数据库的数据文件信息,说明数据库是根据后面的参数创建的。

PRIMARY:用于指定主文件组中的文件。主文件组的第一个由指定的文件是主数据文件。若不指定PRIMARY关键字,则在命令中列出的第一个文件将被默认为主数据文件

LOG ON:指定日志文件的明确定义。如果没有此选项,系统会自动创建一个为所有数据文件总和1/4大小或者512KB大小的日志文件

COLLATE collation_name:指定数据库默认排序规则,规则名称可以是Windows排序规则名称,也可以是SQL排序规则名称。

定义:

[PRIMARY]
([NAME = logical_file_name,]
FILENAME = 'OS_file_name'
[,SIZE = size]
[,MAXSIZE = max_size]
[,FILEGROWTH = growth_incremant]) [,...n]

:指定文件的属性。

  • NAME = logical_file_name:定义数据文件的逻辑名称,此名称在数据库中必须唯一
  • FILENAME = 'OS_file_name':定义数据文件的物理名称,包括物理文件使用的路径名和文件名
  • SIZE = size:在文件属性中定义文件的初始值指定为整数
  • MAXSIZE = max_size:在文件属性中定义文件可以增长到的最大值,可以使用KB,MB,GB 或 TB 单位,默认是MB,指定为整数。如果没有指定或写为unlimited,那么文件将增长到磁盘变满为止。
  • FILEGROWTH = growth_ increment:定义文件的自动增长,growth_increment定义每次增长的大小。

定义:

FILEGROEPUP filegroup_name<filespec>[DEFAULT][,...n]

FILEGROUP filegroup_name:定义文件组的控制。

  • filegroup_name:必须是数据库中唯一的,不能是系统提供的名称PRIMARY。
  • DEFAULT:指定命名文件组为数据库中的默认文件组。

实例:

1.创建一个名为“jxgl”的数据库,其中主数据库文件为10MB,最大大小不受限制,每次增长1MB:事务日志文件大小为1MB,最大大小不受限制,文件每次增长10%。

CREATE DATABASE jxgl
ON
PRIMARY
(NAME = 'jxgl',
FILENAME = 'D:\Data\jxgl.mdf',
SIZE = 10, MAXSIZE = UNLIMITED, FILEGROWTH = 1MB)
LOG ON
(NAME = 'jxgl_log',
FILENAME = 'D:\Data\jxgl_log.ldf',
SIZE = 1MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
GO

2.创建test数据库,其包含一个主文件组和两个次文件组。

CREATE DATABASE test
ON PRIMARY
(NAME = pri_file1,
FILENAME = 'D:\Data\pri_file1.mdf',
SIZE = 10,MAXSIZE = 50, FILEGROWTH = 15%),
(NAME = pri_file2,
FILENAME = 'D:\Data\pri_file2.ndf',
SIZE = 10,MAXSIZE = 50, FILEGROWTH = 15%),
FILEGROUP Gpr1
(NAME = Gpr1_file1,
FILENAME = 'D:\Data\Gpr1_life1.ndf',
SIZE = 10, MAXSIZE = 50,FILEGROWTH = 5),
(NAME = Gpr1_file2,
FILENAME = 'D:\Data\Gpr1_life2.ndf',
SIZE = 10, MAXSIZE = 50,FILEGROWTH = 5),
FILEGROUP Gpr2
(NAME = Gpr2_file1,
FILENAME = 'D:\Data\Gpr2_life1.ndf',
SIZE = 10, MAXSIZE = 50,FILEGROWTH = 5),
(NAME = Gpr2_file2,
FILENAME = 'D:\Data\Gpr2_life2.ndf',
SIZE = 10, MAXSIZE = 50,FILEGROWTH = 5)
LOG ON
(NAME = 'test_log',
FILENAME = 'D:\Data\test_log.ldf',
SIZE = 5, MAXSIZE = 25, FILEGROWTH = 5)
GO