Transact-SQL語句之“建立”:
1. 建立資料庫
create database 資料庫名
[on primary
(name=…,filename=…,size=…,maxsize=…,filegrowth=…)
…
Log on
(name=…,filename=…,size=…,maxsize=…,filegrowth=…)
…
filegroup 檔案組名]
說明:
(1)size、maxsize、filegrouwth 參數中不要使用小數,對於非整數MB的檔案,應將其大小乘以1024轉換為KB
2. 建立表
create table 表名
(列名1 資料類型 {identify|not null|null},
列名2 資料類型 {identify|not null|null},
…)
說明:
(1) null表示該列的值可以為空白值。不要把空值理解為該列的值是0或者Null 字元串等值
(2) identify是計數器,表示該列的值是一組遞增的整數資料,初識預設值為1,增長步長預設為1
3. 建立約束
create table 表名
(列名1 資料類型 {identify|notnull|null} [constraint 約束名] 約束定義,
列名2 資料類型 {identify|not null|null} [constraint 約束名] 約束定義,
…
[constraint 約束名]約束定義)
名稱 |
作用 |
實施的完整性 |
primary key |
定義主鍵,保證主鍵列不重複出現 |
實體完整性 |
unique |
保證該列不出現重複值 |
實體完整性 |
foreign key |
定義外鍵,保證資料表間資料的一致性 |
參照完整性 |
check |
定義表中某些列的資料範圍 |
自訂完整性 |
default |
為列的資料提供預設值 |
自訂完整性 |
4. 建立索引
Create [unique] [clustered|nonclustered]Index 索引名 on 表名(列名1,列名2,…)
說明:
(1) 預設情況下,建立的索引是唯一的非叢集索引
(2) 建立索引時,必須先建立叢集索引,後建立非叢集索引。(非叢集索引中指標所指的資料位元置是由叢集索引建立後確定的)
5. 建立視圖
Create view <視圖名> [(列名組)]
<withencryption>
As <子查詢>
<withcheck option>
說明:
(1) 只能在當前資料庫中建立視圖
(2) 如果視圖引用的基表或者視圖被刪除,則該視圖不能再被使用,直到建立新的基表或視圖
(3) 不能在視圖上建立索引,不能在規則、預設、觸發器的定義中引用視圖
6. 建立規則
Create rule 規則名
as 規則運算式
說明:
(1) 規則運算式中可以包含比較符和算數運算子,但不能包括資料庫物件名或表的列名
(2) 被綁定的列在規則運算式中被使用形式參數表示,參數前加上@符號
7. 建立預設
create default 預設名
as 運算式
說明:
(1) 每一個列上只能定義一個預設約束
(2) 預設約束只在使用Insert語句時驗證列的值
(3) 預設不能用於具有identify屬性的列
8. 建立預存程序
Create Procedure 過程名 [;版本號碼]
[@參數名 參數類型 [=預設值] [output]…]
[with recompile|encryption|recompile,encryption]
[for replication]
As sql語句組
說明:
(1)put表名參數是一個返回參數
(2)recompile為重編譯選項,表名SQLServer不會儲存該預存程序的執行計畫
(3)replication用於指定不能在訂閱伺服器上執行為複製建立的預存程序
9. 建立觸發器
Create trigger 觸發器名
on 表名
With encryption
for delete,Insert,update
withappend
not forreplication
as SQL語句組 觸發器名
說明:
(1)with append 指定應該添加現有類型的其他觸發器
(2)Not for replication 說明當一個複製過程在修改一個觸發器表時,與該表相關聯的觸發器不能被執行
以上語句是T-sql語句常用的九大建立語句,是知網,也是積累。