代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
MSSQL
】
SQL 主键,外键,唯一约束,check约束
作者:
Dezai.CN
/ 发布于
2013/9/18
/
1152
/*********************************************************************** ******外键的特性和注意事项*************************** *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查询 多列合并成一行用逗号隔开
.
查看存储过程修改时间,最近执行时间
.
设置手动批量删除数据库相关进程
.
获取某个表中特定字段的所有字符串形式
.
SQL 如何去除重复的字符串
.
怎么去掉一个字段中的重复数据
.
String 去除空格 回车 换行 水平制表符
.
SQL查询和替换含有回车,空格,TAB
.
SQL SERVER 查询每日新增用户数量、次留数量
.
判断两个字符串是否存在相同的内容
可能有用的
.
SQL查询 多列合并成一行用逗号隔开
.
查看存储过程修改时间,最近执行时间
.
设置手动批量删除数据库相关进程
.
获取某个表中特定字段的所有字符串形式
.
SQL 如何去除重复的字符串
.
怎么去掉一个字段中的重复数据
.
String 去除空格 回车 换行 水平制表符
.
SQL查询和替换含有回车,空格,TAB
.
SQL SERVER 查询每日新增用户数量、次留数量
.
判断两个字符串是否存在相同的内容
Dezai.CN
贡献的其它代码
(
4037
)
.
多线程Socket服务器模块
.
生成随机密码
.
清除浮动样式
.
弹出窗口居中
.
抓取url的函数
.
使用base HTTP验证
.
div模拟iframe嵌入效果
.
通过header转向的方法
.
Session操作类
.
执行sqlite输入插入操作后获得自动编号的ID
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3