SQL的約束,比如唯一性約束、外鍵約束、規則的語句怎么寫?寫的時
我只是給你建了兩個非常簡單的表,前面的建數據庫什么的都省掉了
希望能對你有點幫助
create table stuInfo
(
stuID int not null ,--學生編號,非空
stuName varchar(10) unique not null --學生姓名,唯一,非空
)
go
create table markInfo
(
stuID int not null references stuInfo(stuID), --學號,外鍵,與上面的stuInfo相關聯
Score int not null -- 成績,非空
)
SQL server語句所有的約束條件
在SQLServer中,有3種不同類型的約束。
1、實體約束
實體約束是關于行的,比如某一行出現的值就不允許出現在其他行,例如主鍵。
2、域約束
域約束是關于列的,對于所有行,某一列有那些約束,例如CHECK約束。
3、參照完整性約束
如果某列的值必須與其他列的值匹配,那就意味著需要一個參照完整性約束,例如外鍵。
SQL Server中的約束條件
1、默認約束:定義該列未輸入值時應該具有的默認值
SQL-------alter table 表名 add constraint dt_列名 default 默認值 for 列名
2、空值約束:定義該列是否允許為空值
SQL-------定義表的時候在對應列列數據類型后面添加not null
3、檢查約束:又叫check約束,用來限制列的取值,它根據定義的邏輯表達式來強制域的完整性
SQL-------alter table 表名 add constraint ck_列名 check(邏輯表達式)
4、唯一約束:確保在非主鍵列不輸入重復值
SQL-------alter table 表名 add constraint uq_列名 unique[clustered | nonclustered](列名)
5、外鍵約束:用于建立兩個表數據之間連接的一列或多列
SQL-------alter table 表名 add constraint fk_列名 foreign key(列名) references 另一表名(列名)
6、主鍵約束:用來惟一地標識表中的每一行
SQL-------alter table 表名 add constraint pk_列名 primary key(列名)
新增列:alter table 表名 add 新列名 數據類型
刪除列:alter table 表名 drop column 列名
刪除約束:alter table 表名 drop constraint 約束名
修改列數據類型:alter table 表名 alter column 列名 新數據類型
修改列名需要調用存儲過程sp_rename
SQL約束語句怎么寫有四種求代碼?????
1 PRIMARY KEY約束
例如,下面的SQL語句創建一個名為student的表,其中指定student_number為主鍵:
USE test
GO
CREATE TABLE student
(sutdent_number int PRIMARY KEY,
student_name char(30))
GO
2 FOREIGN KEY約束
例如,下面就是一個使用FOREIGN KEY約束的例子:
CREATE TABLE product
(product_number int,
student_number int
FOREIGN KEY REFERENCES student(student_number)
ON DELETE NO ACTION)
GO
3 UNIQUE約束
例如,下面的SQL語句創建了一個test2表,其中指定了c1字段不能包含重復的值:
USE test
GO
CREATE TABLE test2
(c1 int UNIQUE,
c2 int)
GO
INSERT test2 VALUES(1,100)
GO
如果再插入一行:
INSERT test2 VALUES(1,200)
4 CHECK約束
例如,下面的SQL語句創建一個成績(score)表,其中使用CHECK約束來限定成績只能在0~100分之間:
CREATE TABLE score
(sutdent_number int,
score int NOT NULL CHECK(score>=0 AND score
SQL約束語句
//約束與表沒有什么關系TEST
alter table <;表1>
add const pk_uid primary key(uid), --主鍵約束
alter table 。
add const df_address default('地址不詳')for address, --默認約束
alter talbe 。
add const ck_sex check(sex in('男,女')),
alter talbe 。
add const ck_sex check(sex ='男' or sex ='女'),
alter table 。
add const ck_age check(age between 12 and 30), --檢查約束
alter table 。
add const uq_number unique(number) --唯一約束
alter table 。
add const ck_num check(num like '[1][2] [4][_] [0-9][0-9] [0-9][a-z]'), --檢查約束
alter table 。
add const ck_lenght check(len(lenght)>6), --檢查約束長度大于6
alter table 。
add const ck_number ckeck(number>1), --檢查這個數大于 1
----------------------------------------------------------------------