文章目录
SQL语句创建数据库
例子
CREATE DATABASE NewsDB
ON PRIMARY
(
NAME=NewsDB,
FILENAME='D:\XXXX\NewsDB.mdf',
SIZE=10MB,
MAXSIZE=30MB,
FILEGROWTH=10%
)
LOG ON
(
NAME = NewsDB_log,
FILENAME = 'D:\XXXX\NewsDB_log.ldf',
SIZE = 5MB ,
MAXSIZE=20MB,
FILEGROWTH=5%
)
GO
CREATE DATABASE语句的基本格式如下:
- database_name:新建数据库的名称,同一个SQL Server的实例中数据库名称必须唯一,且最多可以包含128个字符。
- ON:显式定义用来存储数据库数据部分的数据文件。当后面是以逗号分隔的、用以定义主文件组的数据文件的
<filespec>
项列表时,需要使用ON。 -
<filespec>
:控制文件属性。详细定义数据文件或日志文件属性。 - PRIMARY:指定关联的
<filespec>
列表定义主文件。在主文件组的<filespec>
项中指定的第一个文件将成为主文件,一个数据库只能有一个主文件。 -
<filegroup>
:控制文件组属性。 - LOG ON:显式定义数据库的日志文件。LOG ON后跟以逗号分隔的用以定义日志文件的
<filespec>
项列表。 - COLLATE collation_name:指定数据库的默认排序规则。
- WITH
<external_access_option>
:控制外部与数据库之间的双向访问。
filespec的定义格式如下:
-
<filespec>
:控制文件属性。 - NAME=logical_file_name:指定文件的逻辑名称。
- FILENAME=‘os_file_name’:指定操作系统(物理)文件名称。os_file_name是创建文件时由操作系统使用的路径和文件名。
- SIZE=size:指定文件的大小。如果没有为主文件提供size,则数据库引擎将使用model数据库中的主文件的大小,默认值为MB。
- MAXSIZE=max_size:指定文件可增大到的最大大小。
- FILEGROWTH=growth_increment:指定文件的自动增量。growth_increment为每次需要新空间时为文件添加的空间量,该值可以固定值或百分比(%)为单位指定。
- UNLIMITED:指定文件将增长到磁盘充满。
filegroup的定义如下
- FILEGROUP filegroup_name:文件组的逻辑名称。
- DEFAULT:指定命名文件组为数据库中的默认文件组。
external_access_option的定义如下:
- DB_CHAINING{ON|OFF}:当指定为ON时,数据库可以为跨数据库所有权链接的源或目标。当为OFF时,数据库不能参与跨数据库所有权链接。默认值为OFF。
- TRUSTWORTHY{ON|OFF}:当指定为ON时,使用模拟上下文的数据库模块可以访问数据库以外的资源。默认值为OFF。只要附加数据库,TRUSTWORTHY就会设置为OFF。
SQL语句修改数据库
例子
增加一个日志文件。
CREATE DATABASE NewsDB
ADD LOG FILE
(
NAME = NewsDB_log,
FILENAME = 'D:\XXXX\NewsDB_log.ldf',
SIZE = 5MB ,
MAXSIZE=20MB,
FILEGROWTH=5%
)
GO
修改数据库的排序规则。
ALTER DATABASE NewsDB
COLLATE Chinese_PRC_CI_AS_KS
ALTER DATABASE语句的语法如下
- database_name:要修改的数据库的名称。
-
<add_or_modify_files>
::=:指定要添加或修改的文件。 -
<add_or_modify_filegroups>
::=:在数据库中添加或删除文件组。 -
<set_database_options>
:设置数据库选项。 - MODIFY NAME=new_database_name:使用指定的名称重命名数据库。
- COLLATE collation_name:指定数据库的排序规则。
<add_or_modify_files>子句的语法如下:
- ADD FILE:将文件添加到数据库。
- TO FILEGROUP {filegroup_name | DEFAULT}:将指定文件添加到的文件组。
- ADD LOG FILE:将要添加的日志文件添加到指定的数据库。
- REMOVE FILE logical_file_name:从SQL Server的实例中删除逻辑文件说明并删除物理文件。除非文件为空;否则无法删除文件。
- MODIFY FILE:指定应修改的文件,一次只能更改一个
<filespec>
属性。