文章目录



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语句的基本格式如下:

数据库-SQL语句创建与修改_主文件

  • 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的定义格式如下:

数据库-SQL语句创建与修改_主文件_02

  • ​<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的定义如下

数据库-SQL语句创建与修改_主文件_03

  • FILEGROUP filegroup_name:文件组的逻辑名称。
  • DEFAULT:指定命名文件组为数据库中的默认文件组。

external_access_option的定义如下:

数据库-SQL语句创建与修改_主文件_04

  • 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语句的语法如下

数据库-SQL语句创建与修改_数据库_05

  • 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>子句的语法如下:

数据库-SQL语句创建与修改_big data_06

  • ADD FILE:将文件添加到数据库。
  • TO FILEGROUP {filegroup_name | DEFAULT}:将指定文件添加到的文件组。
  • ADD LOG FILE:将要添加的日志文件添加到指定的数据库。
  • REMOVE FILE logical_file_name:从SQL Server的实例中删除逻辑文件说明并删除物理文件。除非文件为空;否则无法删除文件。
  • MODIFY FILE:指定应修改的文件,一次只能更改一个​​<filespec>​​属性。