1. 建表时加上唯一性约束
CREATE TABLE `t_user` (
`Id` int(11) NOT NULL AUTO_INCREMENT, -- 自增
`username` varchar(18) NOT NULL unique, -- 唯一性约束
`password` varchar(18) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk
2.给已经建好的表加上唯一性约束
ALTER TABLE `t_user` ADD unique(`username`)
参考资料
csdn.csdn[引用时间2018-1-9]
第一步:新建数据库并设置可写权限
打开SQL Server管理器窗口,用本地用户登录;然后点击右键——新建数据库;完成之后将数据库文件及日志文件设置为可读可写,如图:
请点击输入图片描述
请点击输入图片描述
第二步:新建数据表
展开数据库,点击表——新建表,输入名称及数据类型,如图:
(注:数据类型非常重要)
请点击输入图片描述
请点击输入图片描述
第三步:设置主键约束
点击表右键——设计——选中id——右键——设置主键,将id设置为主键,主键默认唯一。
如图:
请点击输入图片描述
请点击输入图片描述
请点击输入图片描述
第四步:测试主键约束
在数据表中输入数据,为测试主键的约束,输入两行一模一样的id,保存;
如图所示,保存会提示主键不允许重复。
请点击输入图片描述
请点击输入图片描述
第五步:设置非主键唯一值约束
选中表,点击菜单栏——新建查询,将IDcard设为非主键唯一值,输入以下代码:
ALTER TABLE Users
ADD unique(IDcard),然后点击执行。
如图:
请点击输入图片描述
请点击输入图片描述
第六步:测试非主唯一约束
同理,在数据表中输入两行id不同,IDCard相同的数据,并保存;若出现错误提示,将IDCard修改之后再检测,如图:
请点击输入图片描述
请点击输入图片描述
第七步:关闭数据库并断开连接
由于数据库会在后台运行,所以测试完之后,本地数据库一定要断开连接,然后关闭,如图:
请点击输入图片描述
五大约束1.—-主键约束(Primay Key Coustraint) 唯一性,非空性
2.—-唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个
3.—-检查约束 (Check Counstraint) 对该列数据的范围、格式的限制(如:年龄、性别等)
4.—-默认约束 (Default Counstraint) 该数据的默认值
5.—-外键约束 (Foreign Key Counstraint) 需要建立两表间的关系并引用主表的列
五大约束的语法示例
1.—-添加主键约束(将stuNo作为主键)
alter table stuInfo
add constraint PK_stuNo primary key (stuNo)
2.—-添加唯一约束(身份z号唯一,因为每个人的都不一样)
alter table stuInfo
add constraint UQ_stuID unique(stuID)
3.—-添加默认约束(如果地址不填 默认为“地址不详”)
alter table stuInfo
add constraint DF_stuAddress default (‘地址不详’) for stuAddress
4.—-添加检查约束 (对年龄加以限定 15-40岁之间)
alter table stuInfo
add constraint CK_stuAge check (stuAge between 15 and 40)
alter table stuInfo
add constraint CK_stuSex check (stuSex=’男’ or stuSex=’女′)
5.—-添加外键约束 (主表stuInfo和从表stuMarks建立关系,关联字段stuNo)
alter table stuInfo
add constraint FK_stuNo foreign key(stuNo)references stuinfo(stuNo)
约束(Constraint)是Microsoft SQL Server 提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件(有关数据完整性的介绍请参见第9 章)。在SQL Server 中有5 种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constraint)、惟一性约束(Unique Constraint)、检查约束(Check Constraint)和缺省约束(Default Constraint)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)