SQL 主键,外键,唯一约束,check约束
文章摘要
/*********************************************************************** ******外键的特性和注意事项************************** *1,外键预算约束可以将一个字段或多个字段组合定义为外 , 一个表可以定义多个外键 . 多个父表其中字段成为一子表的外 , 子表的外键约束所...
/***********************************************************************
******外键的特性和注意事项**************************
*1,外键预算约束可以将一个字段或多个字段组合定义为外
, 一个表可以定义多个外键 . 多个父表其中字段成为一子表的外
, 子表的外键约束所定义的字段的数目和数据类型必须要和父表字段相 ,
但是字段名可以不 .
, 一个表不但可以链接同一数据库其他表的字 , 还可以链接到自己表中的其他一个字
条件这链接自己的表字段的之间的字段名不同 ( 同一表不可能要相同的字段 )
, 外键不自动创建索 , 而主键可以自动创建索 .
, 外键约束使用 ' 限制删除 ',' 连锁删除 ',' 限制更新 ',' 连锁更新 ',' 设为 NULL' ' 设为默认 '
等方法来维护关联表间的应用完整
********************************************
***********************************************************************
create table tbDept
(
dId int identity ( 1, 1) primary key not null,
dName char ( 20) not null,
pId int not null,
pDesc text
)
insert into tbDept values ( ' 技术部 ' , 0, ' 的短短的 ' )
insert into tbDept values ( ' 业务 ' , 0, ' 叮叮当当 ' )
insert into tbDept values ( ' 财务 ' , 0, ' 叮叮咚咚 ' )
create table MyUserInfo
(
UserId int identity ( 10, 10) not null
constraint PK_UserId_MyUserInfo
primary key clustered , -- 主键
--1 创建外键
dId int not null
constraint FK_MyUserInfo_tbDept
foreign key
references tbDept( dId),
UserCIP char ( 18) not null
constraint UQ_UserCIP_MyUserInfo unique , -- 唯一约束
UserJSID char ( 6) not null
constraint UQ_userJSID_MyUserId unique , -- 唯一约束
UserName varchar ( 20) not null,
UserTel varchar ( 12) null,
UserMolt int null,
UserAge int not null -- 用户年龄在2-120岁之
constraint CHK_UserAge_MyUserInfo check ( UserAge > 2 && UserAge < 120)
UserSex char ( 2) not null -- 用户性别男或
constraint CHK_UserSex_MyUserInfo check ( UserSex= ' ' or UserSex= ' ' ),
-- 用户名和电话号码 DESC 排序组合是唯一
constraint UQ_UserName_UserTel_MyUserInfo unique ( UserName desc , UserTel desc ),
--constraint UQ_UserName_UserTel_MyUserInfo unique(UserName desc |asc,UserTel desc |asc)
----constraint UQ_UserName_UserTel_MyUserInfo unique(UserName ,UserTel desc |asc)
-- 用户名和手机号码 DESC 排序组合是唯一
constraint UQ_userName_UserMolt_MyUserInfo unique ( UserName desc , UserMolt desc )
);
--2 创建外键
ALTER TABLE MyUserInfo
ADD
constraint FK_MyUserInfo_tbDept
foreign key ( dId)
references tbDept( dId);
--3 创建外键
ALTER TABLE MyUserInfo
with nocheck ADD
constraint FK_MyUserInfo_tbDept
Foreign Key ( dId)
references tbDept( dId)
--4 创建外键
ALTER TABLE MyUserInfo
with check ADD
constraint FK_MyUserInfo_tbDept
Foreign Key ( dId)
references tbDept( dId)
手机扫码阅读
微信或手机浏览器扫一扫,随时随地随心阅读与分享
还没有人赞过,来做第一个
🤞 分享
订阅更新
输入邮箱,第一时间接收本站新文章推送。
版权所有:辰峰微网
文章标题:SQL 主键,外键,唯一约束,check约束
文章链接:https://www.14551.cn/MCSQL/694.html
版权声明:本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
文章标题:SQL 主键,外键,唯一约束,check约束
文章链接:https://www.14551.cn/MCSQL/694.html
版权声明:本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
![[分享]工单按工作中心工单状态月份合计工单数](/content/uploadfile/201609/29751475135708.png)
发表评论