SQL中約束的新增

2021-10-24 19:25:51 字數 3575 閱讀 4345

create

database school

use school

create

table student

( sno char(10

)primary

key,

sname char(10

)not

null

, s*** char(2

)check

(s*** =

'男'or s*** =

'女')

default

'男',

sage int

check

(sage >=

15and sage <=35)

, sdept char(20

),)create

table course

( cno char(10

)primary

key,

cname char(20

)not

null

, ccredit tinyint

check

(ccredit >0)

, semster tinyint

check

(semster >=

1and semster <=8)

, period int

check

(period >0)

,)create

table couse_1

( cno char(10

)not

null

, cname char(10

)not

null

, ccredit int,)

create

table sc

( sno char(10

),cno char(10

),grade tinyint

,check

(grade >=

0and grade <=

100)

,primary

key(sno,cno)

,foreign

key(cno)

references course(cno)

,foreign

key(sno)

references student(sno),)

--5-10:向表中新增兩列

use school

go alter

table student

add home char(10

),code char(10

)--5-11:修改表的資料型別

alter

table student

alter

column

--修改要新增的東西

sdept varchar(10

)not

null

--5-12:1,刪除列

alter

table student

drop

column code --語法:drop column + 列名

--5-12:2,修改欄位名

--語法:exec sp_rename '表名.欄位名','新的欄位名'

exec sp_rename 'student.home'

,'homes'

--5-12:3,修改表名

--語法: exec sp_rename '舊表名','新錶名'

exec sp_rename 'sc'

,'scs'

--5-16:刪除表上scs

--語法:drop table 表名

use school

go drop

table scs

--5-17:增加主鍵

--語法:add constraint 自定義約束名

-- 主鍵(約束字段)

alter

table couse_1

addconstraint pk_con

primary

key(cno)

--5-18:刪除主鍵約束

--語法:drop constraint 約束的別名

alter

table couse_1

drop

constraint pk_con

--5-19:設立唯一約束

create

table department

( depname char(20

)primary

key,

deptelephon char(20

),depoffic char(20

),)alter

table department

addconstraint uk_deptelephon unique

(deptelephon)

/*要修改已經有unique()約束的,我們要先刪除unique()約束,再進行修改*/

--5-21:刪除unique約束

alter

table department

drop

constraint uk_deptelephon

--5-22:增加check()約束

--語法:add 別名 check(約束條件)

alter

table department

addconstraint ck_deptelephon check

(deptelephon =

'rt'

or deptelephon =

'ty'

)/*要修改已經有check()約束的,我們要先刪除check()約束,再進行修改*/

--5-23:刪除check()

alter

table department

drop

constraint ck_deptelephon

--新增預設約束

--語法:add constraint 自定義名字 default '預設值' for 欄位名

alter

table department

addconstraint df_office default

'鄭州工商學院'

for depoffic

--刪除預設約束

alter

table department

drop

constraint df_office

--增加外來鍵約束

create

table course_2

( cno char(10

)not

null,)

alter

table course_2

addconstraint fk_cno foreign

key(cno)

references course(cno)

--刪除外來鍵

alter

table course_2

drop

constraint fk_cno

SQL 新增約束

sql 約束用於規定表中的資料規則。如果存在違反約束的資料行為,行為會被約束終止。約束可以在建立表時規定 通過 create table 語句 或者在表建立之後規定 通過 alter table 語句 建立表的時候新增約束 create table table name column name1 d...

sql新增約束的限制

sql 12 3 4 5 6 7 8 9 10 新增性別約束 alter table author add constraint ck age check 男 or 女 刪除性別約束 alter table drop constraint ck 如果新增check約束時不希望檢查資料庫內的資料是否符...

sql語句新增約束

主鍵約束 primary key constraint 要求主鍵列的資料唯一,並且不允許為空。唯一約束 unique constraint 要求該列唯一,允許為空,但只能出現乙個空值。檢查約束 check constraint 某列取值範圍限制 格式限制等,如有關年齡的約束。預設約束 default...