幾行代碼創(chuàng)建屬于你自己的SQL數(shù)據(jù)庫
創(chuàng)建數(shù)據(jù)庫有多重方法,如可以使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫,也可以使用向?qū)?chuàng)建數(shù)據(jù)庫。上面兩種方法操作都很簡單,但卻有一個(gè)很大的缺點(diǎn)就是他很難大規(guī)模重復(fù)。換句話說,如果你創(chuàng)建一個(gè)準(zhǔn)備重新分布到世界各地的數(shù)據(jù)庫,對于一個(gè)沒有經(jīng)驗(yàn)的用戶來說,應(yīng)付SQL企業(yè)管理器并建立數(shù)據(jù)庫并不是一件容易的事。于是為了解決我們上面所說的難題,用T-SQL語句創(chuàng)建數(shù)據(jù)庫的方法變應(yīng)運(yùn)而生。
在講語法之前我先給大家介紹下什么是數(shù)據(jù)庫文件。數(shù)據(jù)庫文件說簡單點(diǎn)就是存儲(chǔ)我們所需要的數(shù)據(jù)庫的數(shù)據(jù),或者事務(wù)日志。就好比文件夾是為了存儲(chǔ)文件一樣。
在SQL Sever中有如下三種類型的數(shù)據(jù)庫文件:
數(shù)據(jù)庫文件類型 | 描述 |
主數(shù)據(jù)庫文件 | 是所有數(shù)據(jù)庫的起點(diǎn)。這些文件不僅包含數(shù)據(jù)庫用戶收集的信息,還包含了數(shù)據(jù)庫中所有其他文件的有關(guān)信息。每個(gè)數(shù)據(jù)庫都有一個(gè)主數(shù)據(jù)庫文件。主數(shù)據(jù)庫文件的擴(kuò)展名默認(rèn)并推薦使用.mdf。 |
輔數(shù)據(jù)庫文件 | 顧名思義它其實(shí)是那些你增加到數(shù)據(jù)庫中的其他任何數(shù)據(jù)庫文件。增加它們可以用來為數(shù)據(jù)庫增大容量。不是所有的數(shù)據(jù)庫都有輔數(shù)據(jù)庫文件,但是如果想要你的數(shù)據(jù)庫文件延伸到多個(gè)物理磁盤上,就需要有輔數(shù)據(jù)庫文件。它的擴(kuò)展名默認(rèn)使用.ndf。 |
日志文件 | 用來保存數(shù)據(jù)庫的事務(wù)日志。每個(gè)數(shù)據(jù)庫至少有一個(gè)日志文件。日志文件的擴(kuò)展名使用.ldf。 |
那接下來讓我們認(rèn)識Create Database語句的語法:
CREATE DATABASE <database_name> On [primary] [<filespec> [,…n] ] [,<filegroup> [,…n] ] [LOG ON {<filespec> [,…n] } ] [FOR LOAD | FOR ATTCH ] |
上面幾句就是創(chuàng)建數(shù)據(jù)庫最基本的語法,很簡單吧。但是里面有些選項(xiàng)還是需要我們慢慢講來的。
其中的兩個(gè)選項(xiàng)<filespec>和<filegroup>是什么意思呢?簡單的說他們分別代表了創(chuàng)建一個(gè)文件和一個(gè)文件組所需要的信息,可能很難懂吧,不用著急我們看下面它們兩個(gè)的語法。
<filespec>::= ( [NAME=logical_file_name,] FILENAME='os_file_name' [,SIZE=size] [,MAXSIZE={max_size | UNLIMITED}] [,FILEGROWTH=growth_increment]) [,…n] <filegroupspec>::= FILEGROUP filegroup_name <filespec> [,…n] |
在SIZE、MAXSIZE、FILEGROWTH中如果大小的單位是兆字節(jié)(MB),則該單位可以省略,也就是說兆字節(jié)是缺省單位。但其它的表示單位不可省略。
沒暈吧(偷笑),沒關(guān)系我們接著來看個(gè)例子。在下面的例子里,你可以建立一個(gè)數(shù)據(jù)庫Test、一個(gè)數(shù)據(jù)庫文件Test_Data和一個(gè)日志文件Test_Log:
Create Database Test On primary ( name=’Test_Data’, Filename=’c:\mssql17\data\Test_Data.mdf’, Size=10[MB], Maxsize=50[MB], Filegrowth=5[MB] ) LOG ON ( name=’Test_Log’, Filename=’c:\mssql17\data\Test_Log.ldf’, Size=5[MB], Maxsize=25[MB], Filegrowth=10% ) GO |
在SQL 2000中的查詢分析器中執(zhí)行后,你會(huì)看到一下的結(jié)果:
CREATE DATABASE 進(jìn)程正在磁盤 'Test_Data' 上分配 10.00 MB 的空間。
CREATE DATABASE 進(jìn)程正在磁盤 'Test_Log' 上分配 5.00 MB 的空間。
上面代碼括號中的部分即為<filespec>部分,是對創(chuàng)建的數(shù)據(jù)庫的說明。怎么樣,變的很簡單了吧。
posted on 2012-08-06 10:45 順其自然EVO 閱讀(359) 評論(0) 編輯 收藏 所屬分類: 數(shù)據(jù)庫