数据库约束六大约束语句

数据库约束六大约束语句

1、非空约束
① 就是给列赋值的时候值不允许为空


name VARCHAR(20) NOT NULL,--创建name列为非空--

2、主键约束

2.primary key约束 :
①约束唯一标识数据库表中的每条记录
②主键必须包含唯一的值
③主键列不能为空
④每个表都应该有个主键,但只能有一个主键

StudentID int not null primary key        --创建学生编号为主键--
primary key(Students)                     --创建学生编号为主键--
primary key(StudentID,Email)              --创建学生ID和Email为联合主键--
	--为已存在的列创建主键--
alter table table_name add primary key(column_name)
	--删除主键约束--
alter table table_name drop primary key
	--删除主键约束--
alter table table_name drop constraint --主键约束名 主键约束名可以使用sp_help查询--

3、唯一值约束

3.unique 唯一性约束:
①约束唯一标识数据库表中的每条记录
②unique和primary key都为数据提供了唯一性约束
③primary key 拥有自动定义的Unique约束
④注意:每个表中只能有一个primary key约束,但是可以有多个Unique约束

name int unique
unique(column_name)
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)    --添加多个约束--
alter table table_name add unique(column_name)   --增加表中的约束--
ALTER TABLE table_name DROP CONSTRAINT 主键名    --删除约束-- 

4、外键约束

4.foreign key约束:
①一个表中的foreign key 指向另一个表的primary key
②foreign key约束用于预防破坏表之间连接的动作
③foreign key约束也能防止非法数据插入外键列,因为它必须是指向的那个表的值之一

foreign key (column_name) references 主表名(主键列名)     --创建column_name为主表名的外键--
column_name int foreign key references 主表名(主键列名)   --创建column_name为主表名的外键--
alter table table_name 
	add foreign key (列名) references 主表名(主键列名)         --为已存在的列创建外键--
alter table table_name drop constraint 外键约束名          --删除外键约束(SQL Server oracle--

5、检查约束
5.CHECK 约束:
①.检查||限制列中输入的值

sex char(2) CHECK(Ssex='男' or Ssex='女'),					--非男即女--
StudentID int not null check (StudentID>0) 					--大于0约束--
Email varchar(50) CHECK(Email LIKE'%@%'),					--必须含有@--
PID nvarchar(18)  check (len(PID) =15 or len(PID) =18 ),	--身份证号 检查约束 check(len(id)=15 or len(id)=18)--
alter table table_name 
	add check(列名>0)         							    --向已有的列加入check约束--
alter table table_name drop constraint check约束名  			--删除约束--

6、默认值约束
6.default约束:
①.在没有输入值得单元格里插入默认值

Address varchar(100) default '不详',		-- 地址默认值为不详--
outtime date default getdate() 				--默认值为当前时间--
alter table table_name 						--向已有列名中插入默认值-- 
	add 列名 set default '数值'    
alter table table_name drop constraint 约束名          --删除默认约束--
  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值