SQL主鍵是資料庫表的一個重要屬性,建立主鍵可以避免表中存在完全相同的記錄,也就是說SQL主鍵在一張表中的記錄值是唯一的。
建立SQL主鍵有兩種方法:一種是在資料庫提供的GUI環境中建立,另一種是透過SQL語句執行建立,下面分別介紹。
1.在資料庫提供的GUI環境中建立(以SQL7為例)。
2.透過SQL語句執行建立。又分兩種,一是在建表語句中直接寫,二是建表之後更改表結構。
在建表語句中直接寫:
Create Table 表名 (欄位名1 Int Not Null,
欄位名2 nvarchar(13) Not Null Primary Key (欄位名1, 欄位名2),
欄位名3…………
欄位名N………… )
建表之後更改表結構:
CREATE TABLE 表名 (欄位名1 Int Not Null,
欄位名2 nvarchar(13) Not Null
欄位名N…………)
GO
ALTER TABLE 表名 WITH NOCHECK ADD
CONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED
(
[欄位名1],
[欄位名2]
)
【】
2.使用SQL語句建立主鍵約束
使用SQL語句建立主鍵約束可以在建立表(Create Table)或修改表(Alter Table)時進行 建立。
在修改表中建立主鍵約束語法:
ALTER TABLE table_name
ADD
CONSTRAINT constraint_name
PRIMARY KEY [CLUSTERED | NONCLUSTERED]
{(Column[,…n])}
引數說明:
CONSTRAINT:建立約束的關鍵字。
constraint_name:建立約束的名稱。
PRIMARY KEY:表示所建立約束的型別為主鍵約束。
CLUSTERED | NONCLUSTERED:是表示為PRIMARY KEY或UNIQUE約束建立聚集或非聚集索引的關鍵字。PRIMARY KEY約束預設為CLUSTERED,UNIQUE約束預設為 NONCLUSTERED。
下面在指定的資料庫中建立一個名為mytable的資料表,並在該資料表中將“userid”列設定為主鍵。
操作步驟:
(1)在作業系統中選擇“開始”→“所有程式”→“Microsoft SQL Server”→“查詢分析器”命令,開啟查詢分析器。
(2)在查詢分析器的工具欄中選擇要連線的資料庫。
(3)在程式碼編輯區中編寫如下程式碼。
SQL語句如下:
USE 銷售管理系統 --引入資料庫
CREATE TABLE mytable --建立表
USERID int CONSTRAINT pk_id PRIMARY KEY, --建立主鍵約束
USERNAME char (20), --資料列
USERPASS char (20), --資料列
USERPHONE char (20), --資料列
USERADDRESS varchar (50), --資料列
USERLEVEL char(2) --
SQL主鍵是資料庫表的一個重要屬性,建立主鍵可以避免表中存在完全相同的記錄,也就是說SQL主鍵在一張表中的記錄值是唯一的。
建立SQL主鍵有兩種方法:一種是在資料庫提供的GUI環境中建立,另一種是透過SQL語句執行建立,下面分別介紹。
1.在資料庫提供的GUI環境中建立(以SQL7為例)。
2.透過SQL語句執行建立。又分兩種,一是在建表語句中直接寫,二是建表之後更改表結構。
在建表語句中直接寫:
Create Table 表名 (欄位名1 Int Not Null,
欄位名2 nvarchar(13) Not Null Primary Key (欄位名1, 欄位名2),
欄位名3…………
欄位名N………… )
建表之後更改表結構:
CREATE TABLE 表名 (欄位名1 Int Not Null,
欄位名2 nvarchar(13) Not Null
欄位名3…………
欄位名N…………)
GO
ALTER TABLE 表名 WITH NOCHECK ADD
CONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED
(
[欄位名1],
[欄位名2]
)
GO
【】
2.使用SQL語句建立主鍵約束
使用SQL語句建立主鍵約束可以在建立表(Create Table)或修改表(Alter Table)時進行 建立。
在修改表中建立主鍵約束語法:
ALTER TABLE table_name
ADD
CONSTRAINT constraint_name
PRIMARY KEY [CLUSTERED | NONCLUSTERED]
{(Column[,…n])}
引數說明:
CONSTRAINT:建立約束的關鍵字。
constraint_name:建立約束的名稱。
PRIMARY KEY:表示所建立約束的型別為主鍵約束。
CLUSTERED | NONCLUSTERED:是表示為PRIMARY KEY或UNIQUE約束建立聚集或非聚集索引的關鍵字。PRIMARY KEY約束預設為CLUSTERED,UNIQUE約束預設為 NONCLUSTERED。
下面在指定的資料庫中建立一個名為mytable的資料表,並在該資料表中將“userid”列設定為主鍵。
操作步驟:
(1)在作業系統中選擇“開始”→“所有程式”→“Microsoft SQL Server”→“查詢分析器”命令,開啟查詢分析器。
(2)在查詢分析器的工具欄中選擇要連線的資料庫。
(3)在程式碼編輯區中編寫如下程式碼。
SQL語句如下:
USE 銷售管理系統 --引入資料庫
GO
CREATE TABLE mytable --建立表
(
USERID int CONSTRAINT pk_id PRIMARY KEY, --建立主鍵約束
USERNAME char (20), --資料列
USERPASS char (20), --資料列
USERPHONE char (20), --資料列
USERADDRESS varchar (50), --資料列
USERLEVEL char(2) --