SQL語句對於約束的增加及修改

2021-04-15 23:01:22 字數 1843 閱讀 9559

sql語句對於約束的增加及修改

使用sql

語句在初次建立資料表時,同時增加約束的方法非常簡單:

create table

表名(列名

列的屬性

約束名[,

...n]

)即可,可建立的約束包括

primary key

、foreign key

、null/not null

、check

、default等例如

create table student

( stu_no char(6) primary key,

stu_name char(10) not null,

stu_*** char(2) check(stu_***='

男' or stu_***='

女'),      /*

約束此列的值只能輸入「男

」或「女

」值*/ stu_nation char(10) default '

漢族',

) create table grade

( stu_no char(6) foreign key (stu_no) references student(stu_no),     /*

此為定義外來鍵約束

*/ subject_no int,

grade decimal(4,1) check(grade>=0 or grade <=100)                 /*

約束成績取值範圍在0-

100分之間

*/ 但是若建立好資料表之後,想要再往列增加約束或修改約束,則格式根據約束的不同各有不同:

use xscj

go create table abc

(s_no char(10),

s_name char(10),

s_*** char(2),

s_nation char(16)

)                 /*

以上為建立乙個沒有任何約束的新資料表

*/                     

go alter table abc

alter column s_no char(10) not null             

go alter table abc

add   primary key (s_no)          /*

以上為給表的

s_no

列加上primary key

約束*/

go alter table abc

add check(s_***='

男'or s_***='

女')     /*

給x_***

列加check

約束*/

go alter table abc

add default '

漢族'   for   s_nation        /*

加default

約束時格式和其他的有所不同

*/ go

但如果是建立表時已經給列建立了某種約束,需要修改其約束的話,則需要先刪除掉原有約束,然後再增加新約束,至於刪除約束的命令格式為:

alter table

表名drop constraint

約束名此處的約束名由於建立約束時給省略了,所以需通過

「sp_helpconstraint 表名」

命令檢視到列上對應的

constraint_name

(即約束名)

SQL語句對於約束的增加及修改

使用sql語句在初次建立資料表時,同時增加約束的方法非常簡單 create table 表名 列名 列的屬性 約束名 n 即可,可建立的約束包括primary key foreign key null not null check default等 例如create table student st...

Sql增加,刪除,修改列及修改約束

1.檢視約束條件 mysql select from information schema.table constraints where table name book oracle select where table name 表名 2.使約束生效和失效 oracle 使約束條件失效 alte...

mysql增加約束sql語句 sql語句新增約束

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