SQL Server语法学习 一

创建一个新的数据库

方法一:右键‘数据库‘选择‘新建数据库‘,输入数据库的名字即可

SQL Server语法学习 一

方法二:使用create database 语句创建数据库

SQL Server语法学习 一

CREAT DATABASE 数据库名
[ON
 [PRIMARY]
 [<数据文件选项>...
 [,<数据文件组选项>...]
 [LOG ON{<日志文件选项>...}]]
 [COLLATE 排序名]
 ...
] 

2.数据文件的语法格式:

<数据文件选项> =
{(
 NAME =逻辑文件名,
 FILENAME ={‘操作系统文件名’|‘存储路径‘}
 [,SIZE =文件初始容量]
 [,MAXSIZE ={文件最大容量|UNLIMITED}]
 [,FILEGROWTH =文件增量[容量|%]]
 )
} 

说明:

a.逻辑文件名:数据库使用的名称;

b.操作系统文件名:操作系统在创建物理文件时使用的路径和文件名。

c.文件初始容量:对于主文件,若不指出大小,则默认为model数据库主文件的大小,对于辅助数据文件,自动设置为3MB;

d.文件最大容量:指定文件的最大大小。UNLIMITED关键字表示文件大小不受限制,但实际上受磁盘可用空间的限制。如果不指定MAXSIZE选项,则文件增长到磁盘空间满;

e.文件增量:有百分比和容量值两种格式,前者如10%,即每次在原来空间大小的基础上增长10%;后者如5MB,即每次增长5MB,而不管原来空间大小是多少。

3.数据文件组选项的语法格式:

<数据文件组选项>=
{
 FILEGROUP 文件组名[DEFAULT]
 <文件选项>...
}

a.DEFAULT关键词:指定命名文件组为数据库中的默认文件组。

b.<文件选项>:用于指定属于该文件组的文件的属性,其格式描述和数据文件的属性描述相同。

示例:

CREATE DATABASE test1
 ON
 (
 NAME = "test1_data",
 FILENAME = "D:\SQLServer\DATA\test1.mdf",
 SIZE = 5MB,
 MAXSIZE = 50MB,
 FILEGROWTH = 10%
 )
 LOG ON
 (
 NAME = "test1_log",
 FILENAME = "D:\SQLServer\DATA\test1.ldf",
 SIZE = 2MB,
 MAXSIZE = 5MB,
 FILEGROWTH = 1MB
 );

4.修改数据库 :ALTER DATABASE

ALTER DATABASE 数据库名
{
 ADD FILE<文件选项>...[TO FILEGROUP 文件组名] /*在文件组中增加数据文件*/
 |ADD LOG FILE<文件选项>... /*增加日志文件*/
 |REMOVE FILE 逻辑文件名 /*删除数据文件*/
 |ADD FILEGROUP 文件组名 [...] /*增加文件组*/ 
 |REMOVE FILEGROUP 文件组名 /*删除文件组*/ 
 |MODIFY FILE<文件选项> /*更改文件属性*/ 
 |MODIFY NAME = 新数据库名 /*数据库更名*/ 
 |MODIFY FILEGROUP 文件组名 
 { <文件组可更新选项>
 |DEFAULT
 |NAME = 新文件组名
 } /*更改文件组属性*/
 |SET<属性选项>...[WITH<终止>] /*设置数据库属性*/
 |COLLATE 排序名 /*指定数据库排序规则*/
}

说明:

a.ADD FILE子句:向数据库添加数据文件,<文件选项>给出文件的属性,结构参见CREATE DATABASE语法说明。关键字TO FILEGROUP指出了添加的数据文件所在的文件组名,若省略,则为主文件组。

b.ADD LOG FIL子句:向数据库添加日志文件,<文件选项>给出日志文件的属性。

c.REMOVE FILE子句:从数据库中删除数据文件,被删除的数据文件由其中的参数“逻辑文件名”给出。当删除一个数据文件时,逻辑文件与物理文件全部被删除。

d.ADD FILEGROUP子句:向数据库中添加文件组,被添加的文件组名由参数“文件组名”给出。

e.REMOVE FILEGROUP子句:删除文件组,被删除的文件组名由参数“文件组名”给出。

f.MODIFY FILE子句:修改数据文件的属性,被修改文件的逻辑名由<文件选项>的NAME选项给出,可以修改的文件属性包括FILENAME、SIZE、MAXSIZE和FILEGROWTH,但是要注意,一次只能修改其中的一个属性。修改文件大小时,修改后的大小不能小于当前文件的大小。

g.MODIFY NAME子句:更改数据库名,新的数据库名由参数“新数据库名”给出。

h.MODIFY FILEGROUP子句:用于修改文件组的属性。“文件组名”为要修改的文件组名称。<文件组可更新选项>设置文件组的读写权限。DEFAULT选项表示将默认数据库文件组改为指定文件组。NAME选项用于将文件组名改成新文件组名。

i.SET子句:用于设置数据库的属性,<属性选项>中指定了要修改的属性

<文件组可更新选项>::=
{
  {READONLY|READWRITE}
 |{READ_ONLY|READ_WRITE}
}
j.READONLY和READ_ONLY选项:用于将文件组设为只读。
k.READWRITE 和READ_WRITE选项:将文件组设为读/写模式。
 

示例:

增:

ALTER DATABASE test1
 ADD FILE
 (
 NAME = "test1bak",
 FILENAME = "D:\SQLServer\DATA\test1bak.ndf",
 SIZE = 10MB,
 MAXSIZE = 50MB, 
 FILEGROWTH = 5% 
 )

删:

ALTER DATABASE test1 
REMOVE FILE test1bak
GO 

改:

ALTER DATABASE test1 
 MODIFY FILE
 (
 NAME = "test1_data",
 MAXSIZE = 100MB, /*将主数据文件的最大容量改为100MB*/
 FILEGROWTH = 5MB /*将主数据文件的增长方式改为按5MB增长*/
 )
GO 

添加文件数组:为数据库test1添加文件组fgroup,并为此文件组添加两个大小均为10MB的数据文件。

ALTER DATABASE test1 
 ADD FILEGROUP fgroup
GO
ALTER DATABASE test1
 ADD FILE
 (
 NAME = "test1_data2",
 FILENAME = "D:\SQLServer\DATA\test1data2.ndf",
 SIZE = 10MB 
 ),
 (
 NAME = "test1_data3",
 FILENAME = "D:\SQLServer\DATA\test1data3.ndf",
 SIZE = 10MB 
 )
 TO FILEGROUP fgroup
GO

5.删除数据库 DROP DATABASE

DROP DATABASE 数据库名...
GO

6.数据库快照 AS SNAPSHOT

CREATE DATABASE 数据库快照名
 ON(
 NAME =逻辑文件名,
 FILENAME =‘操作系统文件名‘
 )[,...]
 AS SNAPSHOT OF 源数据库名

a.数据库快照名:数据库快照的名称,这个名称在SQL Server实例中必须唯一且符合标识符规则。

b.ON子句:若要创建数据库快照,要在源数据库中指定文件列表。若要使快照工作,则必须分别指定所有数据文件。其中,NAME是逻辑文件名,FILENAME是操作系统文件名(包含路径)。日志文件不允许用于数据库快照。

c.AS SNAPSHOT OF子句:指定要创建的快照为“源数据库名”指定的数据库的快照。数据库快照必须与源数据处于同一实例中。

示例:

CREATE DATABASE test1_s1
 ON
 (
 NAME=test1,
 FILENAME=‘D:\SQLServer\DATA\test1_s1.mdf‘
 )
 AS SNAPSHOT OF test1
GO 

本文选自知乎大佬:半道出家的lv

https://www.zhihu.com/people/ban-dao-chu-jia-de-lv

文章地址:
https://zhuanlan.zhihu.com/p/101213316

注:此篇文章为转载文章,其目的在于多处备份、学习、交流,以便于不时之需,如作者有异议,请联系删除! ! !

SQL Server语法学习 一

上一篇:Cracer之access数据库注入


下一篇:MySQL复制(主从/主主/级联/半同步/复制过滤)