几行代码创建属于你自己的SQL数据库

上一篇 / 下一篇  2012-08-06 11:35:41 / 个人分类:数据库

51Testing软件测试网VFmXrs&^d b

  创建数据库有多重方法,如可以使用企业管理器创建数据库,也可以使用向导创建数据库。上面两种方法操作都很简单,但却有一个很大的缺点就是他很难大规模重复。换句话说,如果你创建一个准备重新分布到世界各地的数据库,对于一个没有经验的用户来说,应付SQL企业管理器并建立数据库并不是一件容易的事。于是为了解决我们上面所说的难题,用T-SQL语句创建数据库的方法变应运而生。51Testing软件测试网h3dH$` k8On(]

51Testing软件测试网4x}4L ud*j"O

  在讲语法之前我先给大家介绍下什么是数据库文件。数据库文件说简单点就是存储我们所需要的数据库的数据,或者事务日志。就好比文件夹是为了存储文件一样。

)IM:_ ca!?.V(Uit051Testing软件测试网O2[8@)` x7yM6~ ^K f

  在SQL Sever中有如下三种类型的数据库文件:

U4} G s8gNB0

数据库文件类型

:~KUa5p~0

描述

z'\)dh a0?x_0

主数据库文件

r3vtmj E_9_)d K1qv0

        是所有数据库的起点。这些文件不仅包含数据库用户收集的信息,还包含了数据库中所有其他文件的有关信息。每个数据库都有一个主数据库文件。主数据库文件的扩展名默认并推荐使用.mdf

5[cXy M-[B0

辅数据库文件51Testing软件测试网*??J%wqv?

        顾名思义它其实是那些你增加到数据库中的其他任何数据库文件。增加它们可以用来为数据库增大容量。不是所有的数据库都有辅数据库文件,但是如果想要你的数据库文件延伸到多个物理磁盘上,就需要有辅数据库文件。它的扩展名默认使用.ndf51Testing软件测试网R%V{ NI8@ ^)N

日志文件

EQ%a4b9h\+mf+C0

        用来保存数据库的事务日志。每个数据库至少有一个日志文件。日志文件的扩展名使用.ldf51Testing软件测试网6n'kN5k5G;w0K6FA#H

  那接下来让我们认识Create Database语句的语法:51Testing软件测试网2P3r)?8j8d0i

CREATE DATABASE <database_name>
fz A d#X:Vj0      On [primary]51Testing软件测试网,qu z2OG;s2n&y
      [<filespec> [,…n]  ]
&aw?r4P5M M0q0      [,<filegroup> [,…n]  ]51Testing软件测试网2V+a }+T}
[LOG ON {<filespec> [,…n] }  ]
B N'H`X(X&?Y RI(\0[FOR LOAD |  FOR  ATTCH  ]

Pq/`s\ e0

  上面几句就是创建数据库最基本的语法,很简单吧。但是里面有些选项还是需要我们慢慢讲来的。

cW,]I |a(x051Testing软件测试网P&E1__5}TN

  其中的两个选项<filespec>和<filegroup>是什么意思呢?简单的说他们分别代表了创建一个文件和一个文件组所需要的信息,可能很难懂吧,不用着急我们看下面它们两个的语法。

!V` ~3r{fN_5U051Testing软件测试网T W0T0\_*SN1\7H

51Testing软件测试网5sF3Dka/zRH

<filespec>::=51Testing软件测试网&wx)i3rP1h\WS
                   (   [NAME=logical_file_name,]
e |`M:H])\0                        FILENAME='os_file_name'
:f |!l!|Y6UE5U0                        [,SIZE=size]51Testing软件测试网Za+` l0g U\
                        [,MAXSIZE={max_size | UNLIMITED}]
Z ex0y&Ew;[0                        [,FILEGROWTH=growth_increment])  [,…n]
,M0B(?fnMHzV0       <filegroupspec>::=51Testing软件测试网b|&~uXj;x!c:x
                        FILEGROUP filegroup_name <filespec>  [,…n]

51Testing软件测试网4{7nYW.m5H

  在SIZE、MAXSIZE、FILEGROWTH中如果大小的单位是兆字节(MB),则该单位可以省略,也就是说兆字节是缺省单位。但其它的表示单位不可省略。

O#A+jbi7d'q)_*DSt0

  没晕吧(偷笑),没关系我们接着来看个例子。在下面的例子里,你可以建立一个数据库Test、一个数据库文件Test_Data和一个日志文件Test_Log:51Testing软件测试网,k;e(s O6Q1JfO

51Testing软件测试网qk)igj6a

51Testing软件测试网s;|awg7O A,J#u V/I

  Create Database Test

(xM}f8O!B051Testing软件测试网9dug@P

         On primary51Testing软件测试网+d6XGU4Wi

51Testing软件测试网 kE:lH'r+ZYaUB

         (      name=’Test_Data’,

L F(R6L.h7L"_051Testing软件测试网y0f'z&DIY gs

                 Filename=’c:\mssql17\data\Test_Data.mdf’,

Vj(jN|H9P051Testing软件测试网R]9ZR Z5VS

                Size=10[MB],51Testing软件测试网n,x O;Re8S7q"VV

51Testing软件测试网O/U,h%`0b4S

                Maxsize=50[MB],

E(N"nXud1B0

dp@Y S m0                Filegrowth=5[MB]   )51Testing软件测试网 @ B{:^R4H}$T

p\ X)Z{0u8q0         LOG ON51Testing软件测试网d,N^V7wl,_

51Testing软件测试网.C)\!y Yh { V4}L,G@'R

         (      name=’Test_Log’,51Testing软件测试网 f(C5q1p%@Dp]cM

$EMeF)Y.T0                Filename=’c:\mssql17\data\Test_Log.ldf’,51Testing软件测试网$yi%SH4?(`%sC c1r

51Testing软件测试网s vLGmS G t-P$f/{+S

                Size=5[MB],51Testing软件测试网.?3X&}Z DK&d1W

51Testing软件测试网#uD(a'bO3kh

                Maxsize=25[MB],

e(\H;E~ D0

y/riBF1Y r0                Filegrowth=10%    )

/j}Y{`1Q&C051Testing软件测试网Tj-O8d&q r/_!o

          GO

Ww E"oF2|d rn0

  在SQL 2000中的查询分析器中执行后,你会看到一下的结果:51Testing软件测试网-y6M9\ C'K d(q&Q!n

  CREATE DATABASE 进程正在磁盘 'Test_Data' 上分配 10.00 MB 的空间。

;n{4bLy0

  CREATE DATABASE 进程正在磁盘 'Test_Log' 上分配 5.00 MB 的空间。51Testing软件测试网jt.Dm*S(Yj n'^1@

  上面代码括号中的部分即为<filespec>部分,是对创建的数据库的说明。怎么样,变的很简单了吧。51Testing软件测试网"@$^7yniKO


TAG:

 

评分:0

我来说两句

Open Toolbar