您的位置:首页 > 大数据 > 人工智能

约束constraint的用法总结

2014-04-01 14:12 393 查看
主要就是增加约束的以下几种约束 、并 一一列举:1.主键约束:
要对一个列加主键约束的话,这列就必须要满足的条件就是分空
因为主键约束:就是对一个列进行了约束,约束为(非空、不重复)
以下是代码 要对一个列加主键,列名为id,表名为emp格式为:
alter table 表格名称 add constraint 约束名称 增加的约束类型 (列名)例子:
alter table emp add constraint ppp primary key (id)――――――――――――――――――――――――――――――――2.check约束:
就是给一列的数据进行了限制
比方说,年龄列的数据都要大于20的
表名(emp) 列名(age)格式:
alter table 表名称 add constraint 约束名称 增加的约束类型 (列名)例子:
alter table emp add constraint xxx check(age>20)______________________________________________________________________3.unique约束:
这样的约束就是给列的数据追加的不重复的约束类型格式:
alter table 表名 add constraint 约束名称 约束类型(列名)
比方说可以给ename列加个unique,让ename列的数据不重复
例子:
alter table emp add constraint qwe unique(ename)――――――――――――――――――――――――――――――――4.默认约束:
意思很简单就是让此列的数据默认为一定的数据格式:
alter table 表名称 add constraint 约束名称 约束类型 默认值) for 列名比方说:emp表中的gongzi列默认为10000alter table emp add constraint jfsd default 10000 for gongzi
――――――――――――――――――――――――――――――――5.外键约束:
这个有点难理解了,外键其实就是引用
因为主键实现了实体的完整性,
外键实现了引用的完整性,
应用完整性规定,所引用的数据必须存在!其实就是个引用,
比方说一个表名称叫dept 里面有2列数据 一列是ID一列是ENAME
id:表示产品的编号
ename:表示产品的名称另外一个表格名称是emp 里面有2列数据,一列是ID 一列是DID
id:表示用户号
did:表示购买的产品号要让emp表中的did列去引用dept表中的id可以用下面的方法格式:
alter table 表名 add constraint 约束名称 约束类型 (列名) references 被引用的表名称(列名)例子:
alter table emp add constraint jfkdsj foreign key (did) references dept (id)但是我经过试验默认约束这样做并不好用,我有一个例子,像我这样建表就好用了:
属性类型(长度)默认值约束含义
STUNO数值(8)主键学号
SNAME变长字符(12)非空姓名
SEX字符(2)性别
BIRTHDAY日期生日
EMAIL变长字符(20)唯一电子邮件
SCORE数值(5, 2)检查成绩
CLASSNO数值(2)外键,关联到表CLASS的CLASSNO主键班级编号
Createtablestudent(
stunonumber(8) ,
snamevarchar2(12)notnull,
sexchar(2)default'男',
birthdaydate,
emailvarchar2(20),
scorenumber(5,2),
classnonumber(2),
constraintstudent_stuno_pkprimarykey(stuno),
constraintstudent_email_ukunique(email),
constraintstudent_score_ckcheck(score>=0),
constraintstudent_classno_fkforeignkey(classno)referencesclass(classno));转载自http://blog.sina.com.cn/s/blog_5eec6f3a0100hxwn.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: