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