域完整性

138 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天

域完整性

默认值约束

1、鼠标步骤

①展开“数据库”节点,展开“表”节点。

②右击表,选择“设计”。

③单击某“字段”,设置默认值。保存。

image.png 注意:字符型单引号不需要输入,在表保存后,在单引号外还会自动生成一对小括号。

 

2、SQL语句

①建立表时

CREATE TABLE <表名>

  (

   <列名1>   <数据类型>  [CONSTRAINT <默认值约束名>] DEFAULT 常量表达式

  )

 

默认值约束名不写就是系统默认起名字,也可自己起名字:

image.png 例题: 建立“学生1”表时,为“性别”字段设置默认值为“女”。

USE 学生管理  

CREATE  TABLE  学生1                

(

  学号   char(8)  NOT  NULL,                  

姓名  nvarchar(20)  NOT  NULL,       

  性别  nchar(1)  NOT  NULL  default '女',            

  生日  date   NULL,                            

  籍贯  nvarchar(30)  NULL,                  

  党员  bit    NULL,               

  高考成绩  decimal (5,1)  NULL,  

  邮箱  nvarchar(30)  NULL              

)

GO

 

USE 学生管理                       --将当前数据库设置为学生管理

GO

CREATE  TABLE  学生2                 --创建学生表2

(

  学号   char(8)  NOT  NULL,             

姓名  nvarchar(20)  NOT  NULL,        

  性别  nchar(1)  NOT  NULL  CONSTRAINT  aa  default '女',  

  生日  date   NULL,                            

  籍贯  nvarchar(30)  NULL,                  

  党员  bit    NULL,               

  高考成绩  decimal (5,1)  NULL,  

  邮箱  nvarchar(30)  NULL              

)

GO

 

 

②修改表时

ALTER  TABLE  表名

ADD CONSTRAINT  约束名

DEFAULT 默认值  [FOR  字段名]

 

例题: 修改“学生1”表的“性别”字段,设置默认值为“女”。

USE 学生管理                       --将当前数据库设置为学生管理

GO

ALTER  TABLE  学生1

ADD CONSTRAINT  df_性别

DEFAULT ‘女’  for 性别


CHECK约束

1、鼠标步骤

①展开“数据库”节点,展开“表”节点。

②右击表,选择“设计”。

③右击选择“CHECK约束”。

image.png ④单击“添加”按钮,单击“”按钮。

image.png

image.png ⑤写出正确“表达式”,“确定”按钮,“关闭”按钮,保存。

2、SQL语句

①建立表时

CREATE TABLE   表名

  (

   <列名1>   <数据类型>  [CONSTRAINT <检查约束名>] CHECK  (<逻辑表达式>)

   )

 

 

例题:建立“学生3”表时,为高考成绩设置check约束,大于等于0且小于等于800。

use 学生管理

go

CREATE  TABLE  学生3                

(

  学号   char(8)  NOT  NULL  primary  key ,                  

姓名  nvarchar(20)  NOT  NULL,       

  性别  nchar(1)  NOT  NULL  default '女',            

  生日  date   NULL,                            

  籍贯  nvarchar(30)  NULL,                  

  党员  bit    NULL,               

  高考成绩  decimal (5,1)  NULL  check  (高考成绩>=0 and 高考成绩<=800),  

  邮箱  nvarchar(30)  NULL              

)

GO

 

看图见结果。

image.png ②修改表时

ALTER   TABLE  表名

ADD  CONSTRAINT 约束名

CHECK  (条件表达式)

 

例题: 修改“学生3”表的“高考成绩”字段,设置check约束,大于等于0且小于等于800。

use 学生管理

go

ALTER   TABLE  学生3

ADD  CONSTRAINT  ck_高考成绩

CHECK  (高考成绩>=0 and 高考成绩<=800)

 

三、非空值约束****

1、鼠标步骤

①展开“数据库”节点,展开“表”节点。

②右击指定的表,选择“设计”命令,在“表设计器”窗口进行非空设置。

image.png 2、SQL语句

①创建表时

CREATE  TABLE  表名

(

    列名1  数据类型 NOT  NULL,

        ... ...

)

 

②修改表时

ALTER  TABLE  表名

 alter  column 字段名  数据类型  not null