1. 程式人生 > 實用技巧 >SQL Server語法學習 一

SQL Server語法學習 一

目錄

建立一個新的資料庫

方法一:右鍵'資料庫'選擇'新建資料庫',輸入資料庫的名字即可

方法二:使用create database 語句建立資料庫

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

注:此篇文章為轉載文章,其目的在於多處備份、學習、交流,以便於不時之需,如作者有異議,請聯絡刪除! ! !