您的位置:首页 > 新闻 > 会展 > SQL 约束

SQL 约束

2024/12/27 2:10:31 来源:https://blog.csdn.net/qq_61709335/article/details/140443816  浏览:    关键词:SQL 约束

目录

一、约束

二、约束操作

1、primary  key约束

2、unique约束

3、check 约束

4、default 约束

5、foreign  key 约束


一、约束

SQL Server 2012 的 6种约束类型

  • null \ not  null     --  为空 \不为空,设置字段列是否允许为空
  • primary   key     -- 主键约束,设置字段为主键
  • unique     -- 唯一性,设置字段具有唯一性
  • check     -- 设置字段的取值范围
  • default     -- 设置字段的默认值
  • foreign   key     -- 设置外键,设置字段为外键,与其他表建立联系
二、约束操作
1、primary  key约束

-- 1、建表时,添加主键约束

create   table   student

(

学号  int  primary  key,

姓名  nchar(8),

身份证号   char(18),

性别  nchar(1)

)

--  2、修改表时,添加主键约束

语法:alter   table  <表名>  add  constraint  <约束名>   primary  key (字段名)

create   table   student

(

学号  int,

姓名  nchar(8),

身份证号   char(18),

性别  nchar(1),

)

ALTER    TABLE  student

ADD   CONSTRAINT  pk_ts   PRIMARY  KEY (学号)

--  3、删除主键约束

语法:alter   table   <表名>   drop  constraint  <约束名>

ALTER   TABLE   student

DROP   CONSTRAINT  pk_ts   

2、unique约束

-- 建表时,设置唯一性

create   table   student

(

学号  int,

姓名  nchar(8),

身份证号   char(18)  unique,

性别  nchar(1),

)

-- 修改表时,设置唯一性

语法:alter   table  <表名>   add   constraint   <约束名>   unique (字段名)

create   table   student

(

学号  int,

姓名  nchar(8),

身份证号   char(18),

性别  nchar(1),

)

ALTER   TABLE   student

ADD   CONSTRAINT   ue_ts   UNIQUE (身份证号)

-- 删除唯一性约束

语法:alter  table  <表名>   drop  <约束名>

ALTER   TABLE   student

ADD   CONSTRAINT   ue_ts

3、check 约束

-- 创建时,设置范围约束

create   table   sc

(

学号  int,

课程号   nchar(8),

成绩   int   check ( 成绩 >=0   and   成绩   <= 100),

)

-- 修改时,设置范围约束

语法:alter  table  <表名>  add  constraint  <约束名>  check(成绩 >=0   and  成绩 <= 100)

ALTER   TABLE   sc

ADD   CONSTRAINT   cj_sc   check (成绩 >=0   and   成绩   <= 100)

-- 删除范围约束

语法:alter   table  <表名>  drop   <约束名>

ALTER   TABLE   sc

DROP   CONSTRAINT  cj_sc

4、default 约束

-- 创建时,设置范围约束

create   table   student

(

学号  int,

姓名  nchar(8),

身份证号   char(18),

性别  nchar(1)   default   '男',

)

-- 修改时,设置默认值

语法:alter   table  <表名>  add   constraint  <约束名>  default   '默认值'

ALTER   TABLE  test 

ADD   CONSTRAINT   dt_st   default   '男'

-- 删除默认约束

语法:alter   table  <表名>  drop   <约束名>

ALTER   TABLE   student

DROP   dt_ts

5、foreign  key 约束

-- 创建时,添加 foreign  key

create table   student

(

学号   int   primary   key,

姓名   nchar(8),

身份证号   char(18),

性别   nchar(1),

)

create   table   sc

(

学号   int   foreign   student(学号),

课程号   nchar(8),

 成绩   int,

)

--  修改时,设置外键

语法:alter  table  <表名>  add  constraint   <约束名>  foreign  key (外键字段)  references  <关联的表名> (关联字段)

ALTER   TABLE   sc

ADD   CONSTRAINT   fk_sc   foreign   key   (学号)   REFERENCES   student (学号)

-- 删除外键约束

语法:alter  table  <表名>  drop  <约束名>

ALTER  TABLE  sc

DROP   CONSTRAINT   fk_sc

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com