SQL 约束

SQL中的约束
NOT NULL(非空约束)
设置列不接受空值
建表时
value_name varchar(20) not null
UNIQUE (唯一性约束)
约束表中的记录的唯一性。
主键和UNIQUE都提供了唯一性约束,但主键拥有自定义的唯一性约束。
每个表中可以拥有多个UNIQUE约束的列,但主键只能有一个。
设置约束的几种方法
1. 创建表时,key varchar(20) unique
2. unique(key)
3. constrait table_name unique (id)
4. alter table table_name add unique(id)
删除约束
alter table table_name drop unique(column_name)
PRIMARY KEY
唯一的标识数据库中的每条记录。
主键必须唯一。
主键非空。
每个表都应该有主键,主键只能有一个。
设置主键
id varchar(20) not null primary key
primary key (id)
alter table table_name add primary key (id)
删除主键
alter table table_name drop primary key
FOREIGN KEY
一个表中的外键应该指向另一个表的主键
约束用于预防破坏表之间连接的动作
约束非法数据插入外键,它必须是指向的表的值之一。
设置外键
foreign key (id) reference table_name(主键所在列名)
id varchar(20) foreign key reference table_name(主键所在列名)
alter table table_name add foreign key (id) reference table_name(主键所在列名)
删除外键
alter table table_name drop foreign key 外键名
CHECK
约束指定列的取值范围
DEFAULT
向列中插入默认值,如果插入时未指定具体的值,则插入默认值
1.name varchar(10) default '张三' name默认插入张三的名字
2.systime date default gatedate() 插入时间的默认值 getetime()函数为时间的默认值
3.alter table table_name add 列名 set default '数值' 向已有列名中插入默认值
4.alter table table_name drop constraint 约束名 删除默认约束
1.StudentID int not null check (StudentID>0) 限制StudentID输入的值要大于0 (SQL Server ora
2.StudentID int not null check (StudentID>0), 限制StudentI输入的值要大于0 (Mysql)
3.sex varchar(2) not null check(sex='男' or sex='女') 限制sex的性别只能是男或者女
4.alter table table_name add check(列名>0) 向已有的列加入check约束
5.alter table table_name drop constraint check约束名

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值