這篇文章主要介紹“SQL Server數據庫如何創建表及約束條件”,在日常操作中,相信很多人在SQL Server數據庫如何創建表及約束條件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SQL Server數據庫如何創建表及約束條件”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
CREATE DATABASE my_db;
CREATE TABLE Persons ( Id_P int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255) )
數據類型:
int smallint tinyint 整數 ,
char(size) 容納固定長度的字符串,
varchar(size) 容納可變長度的字符串,
date(yyyymmddd) 容納日期。
NOT NULL 約束強制列不接受 NULL 值。
UNIQUE 約束唯一標識數據庫表中的每條記錄。
PRIMARY KEY PRIMARY KEY 約束唯一標識數據庫表中的每條記錄。
FOREIGN KEY 一個表中的 FOREIGN KEY 指向另一個表中的 PRIMARY KEY。
CHECK 約束用于限制列中的值的范圍。
DEFAULT 約束用于向列中插入默認值。
CREATE TABLE Persons ( Id_P int NOT NULL , LastName varchar(255) NOT NULL , FirstName varchar(255), Address varchar(255), City varchar(255) )
CREATE TABLE Persons ( Id_P int NOT NULL UNIQUE , LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )
當表已被創建時,如需在 "Id_P" 列創建 UNIQUE 約束:
ALTER TABLE Persons ADD UNIQUE (Id_P)
如需命名UNIQUE 約束:
ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (Id_P)
如需撤銷 UNIQUE 約束,請使用下面的 SQL:
ALTER TABLE Persons DROP CONSTRAINT uc_PersonID
CREATE TABLE Persons ( Id_P int NOT NULL PRIMARY KEY , LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )
如果在表已存在的情況下為 "Id_P" 列創建 PRIMARY KEY 約束:
ALTER TABLE Persons ADD PRIMARY KEY (Id_P)
如需命名PRIMARY KEY 約束:
ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P)
如需撤銷 PRIMARY KEY 約束:
ALTER TABLE Persons DROP CONSTRAINT pk_PersonID
"Persons" 表:

"Orders" 表:

請注意,"Orders" 中的 "Id_P" 列指向 "Persons" 表中的 "Id_P" 列。
"Persons" 表中的 "Id_P" 列是 "Persons" 表中的 PRIMARY KEY。
"Orders" 表中的 "Id_P" 列是 "Orders" 表中的 FOREIGN KEY。
FOREIGN KEY 約束用于預防破壞表之間連接的動作。
FOREIGN KEY 約束也能防止非法數據插入外鍵列,因為它必須是它指向的那個表中的值之一。
CREATE TABLE Orders ( Id_O int NOT NULL PRIMARY KEY, OrderNo int NOT NULL, Id_P int FOREIGN KEY REFERENCES Persons(Id_P) )
如果在 "Orders" 表已存在的情況下為 "Id_P" 列創建 FOREIGN KEY 約束:
ALTER TABLE Orders ADD CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
如需撤銷 FOREIGN KEY 約束:
ALTER TABLE Orders DROP CONSTRAINT fk_PerOrders
下面的 SQL 在 "Persons" 表創建時為 "Id_P" 列創建 CHECK 約束。CHECK 約束規定 "Id_P" 列必須只包含大
于 0 的整數。
CREATE TABLE Persons ( Id_P int NOT NULL CHECK (Id_P>0) , LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )
如果在表已存在的情況下為列創建 CHECK 約束以及為多個列定義 CHECK 約束:
ALTER TABLE Persons ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
如需撤銷 CHECK 約束:
ALTER TABLE Persons DROP CONSTRAINT chk_Person
下面的 SQL 在 "Persons" 表創建時為 "City" 列創建 DEFAULT 約束:
CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) DEFAULT 'Sandnes' )
如果在表已存在的情況下為 "City" 列創建 DEFAULT 約束:
ALTER TABLE Persons ALTER COLUMN City SET DEFAULT 'SANDNES'
ALTER TABLE Persons ALTER COLUMN City DROP DEFAULT
這些就是創建表的一些約束及示例。
到此,關于“SQL Server數據庫如何創建表及約束條件”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。