-
創建表的基本語法:
CREATE TABLE 表名
(
Id INT IDENTITY(100000,1) PRIMARY KEY, // IDENTITY(100000,1) 設置ID為自增屬性,並且初始值為100000,增量為1。PRIMARY KEY 設置Id為主鍵。
其他字段
)
-->>需要注意的是:字段的類型。如果要求字段的長度為固定字段,則使用char()、或者nchar()類型。varchar()、和nvarchar()類型是跟隨用戶輸入的字段長度而定。
例如:
寫出創建Customer表的sql語句:
圖 1-1 Customer類
sql語句如下:
CREATE TABLE Customer
(
Id INT IDENTITY(100000,1) PRIMARY KEY ,
Name NCHAR(11) NOT NULL, //這里設置的Name字段的大小為22個字符。因為前面有個N。
[Password] CHAR(8) NOT NULL,
HeadImgUrl VARCHAR(50) NOT NULL,
Area VARCHAR(400) NOT NULL,
Sex INT NOT NULL,
CreateTime DATETIME NOT NULL
)
-
創建索引:
-
什么是索引:
數據庫中的索引是某個表中一列或者多列值的集合和相對應的指向表中物理標識這些值得數據頁的邏輯指針清單。
-
語法:
CREATE [索引類型] INDEX 索引名稱
ON 表名
WITH FILLFACTOR=填充因子值【值的范圍為:0~100】
-
分類:
- 唯一索引(UNIQUE):不允許兩行具有相同的索引值(創建了唯一約束,系統將自動創建唯一索引。)
- 主鍵索引:主鍵索引要求主鍵中的每個值是唯一的。(創建主鍵時,自動創建主鍵索引。)
- 聚集索引(CLUSTERED):表中各行的物理順序與鍵值的邏輯(索引)順序相同,表中只能包含一個聚集索引,主鍵列默認為聚集索引。
- 非聚集索引(NONCLUSTERED):表中各行的物理順序與鍵值的邏輯(索引)順序不匹配,表中可以有249個聚集索引。
- 創建索引的標准:用於頻繁搜索的列;用於對數據進行排序的列。
->>注意:如果表中僅有幾行,或列中包含幾個不同的值,不推薦創建索引,因為SQL Server 在小型表中用索引搜索數據所花的時間比逐行搜索更長。
-
例如:為表Customer即【圖1-1 Customer類】,建立索引:
-
對Customer表中的Name字段建立索引:
CREATE UNIQUE INDEX INDEX_ID
ON Customer(Name)
-
對Customer表中的Password和Name字段建立聯合索引:
CREATE INDEX INDEX_NAME_PASS
ON Customer(Name,[Password])