您好,登錄后才能下訂單哦!
這篇文章主要介紹“SQL Server數(shù)據(jù)庫(kù)如何創(chuàng)建表及約束條件”,在日常操作中,相信很多人在SQL Server數(shù)據(jù)庫(kù)如何創(chuàng)建表及約束條件問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”SQL Server數(shù)據(jù)庫(kù)如何創(chuàng)建表及約束條件”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
CREATE DATABASE my_db;
CREATE TABLE Persons ( Id_P int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255) )
數(shù)據(jù)類型:
int smallint tinyint 整數(shù) ,
char(size) 容納固定長(zhǎng)度的字符串,
varchar(size) 容納可變長(zhǎng)度的字符串,
date(yyyymmddd) 容納日期。
NOT NULL 約束強(qiáng)制列不接受 NULL 值。
UNIQUE 約束唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)表中的每條記錄。
PRIMARY KEY PRIMARY KEY 約束唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)表中的每條記錄。
FOREIGN KEY 一個(gè)表中的 FOREIGN KEY 指向另一個(gè)表中的 PRIMARY KEY。
CHECK 約束用于限制列中的值的范圍。
DEFAULT 約束用于向列中插入默認(rèn)值。
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) )
當(dāng)表已被創(chuàng)建時(shí),如需在 "Id_P" 列創(chuàng)建 UNIQUE 約束:
ALTER TABLE Persons ADD UNIQUE (Id_P)
如需命名UNIQUE 約束:
ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (Id_P)
如需撤銷 UNIQUE 約束,請(qǐng)使用下面的 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" 列創(chuàng)建 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" 表:
請(qǐng)注意,"Orders" 中的 "Id_P" 列指向 "Persons" 表中的 "Id_P" 列。
"Persons" 表中的 "Id_P" 列是 "Persons" 表中的 PRIMARY KEY。
"Orders" 表中的 "Id_P" 列是 "Orders" 表中的 FOREIGN KEY。
FOREIGN KEY 約束用于預(yù)防破壞表之間連接的動(dòng)作。
FOREIGN KEY 約束也能防止非法數(shù)據(jù)插入外鍵列,因?yàn)樗仨毷撬赶虻哪莻€(gè)表中的值之一。
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" 列創(chuàng)建 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" 表創(chuàng)建時(shí)為 "Id_P" 列創(chuàng)建 CHECK 約束。CHECK 約束規(guī)定 "Id_P" 列必須只包含大
于 0 的整數(shù)。
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) )
如果在表已存在的情況下為列創(chuàng)建 CHECK 約束以及為多個(gè)列定義 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" 表創(chuàng)建時(shí)為 "City" 列創(chuàng)建 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" 列創(chuàng)建 DEFAULT 約束:
ALTER TABLE Persons ALTER COLUMN City SET DEFAULT 'SANDNES'
ALTER TABLE Persons ALTER COLUMN City DROP DEFAULT
這些就是創(chuàng)建表的一些約束及示例。
到此,關(guān)于“SQL Server數(shù)據(jù)庫(kù)如何創(chuàng)建表及約束條件”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。