SQL外键约束设置与使用指南:T_SQL语句全解析

创始人
2025-01-01 14:59:25
0 次浏览
0 评论

如何使用T_SQL语句设置外键约束

ALTERTABLEstrcouADDCONSTRAINTfk_strcou_studentnumberFOREIGNKEY(学号)REFERENCESstudent(学号)ALTERTABLEStuCouADDCONSTRAINTfk_StuCou_coursenumberFOREIGNKEY(课程号)REFERENCESDepartment(number)course)ALTERTABLECourseADDCONSTRAINTfk_Course_coursenumberFOREIGNKEY(课程编号)REFERENCESDepartment(课程编号)ALTERTABLEclassADDCONSTRAINTfk_Class_departmentnumberFOREIGNKEY(departmentnumber)REFERENCESDepartment(departmentnumber)ALTERTABLEstudentADDCONSTRAINTfk_student_classnumberFOREIGNKEY(类号)REFERENCESclass(类号)

sql用命令创建主键与外键。

SQL中创建主键和外键约束的方法:--创建表时可以对字段添加约束:createtableStudent(StudentNointPRIMARYKEYIDENTITY(1,1),--添加主键约束和identity的列属性(均构成实体)integrity)StudentNamenvarchar(15)notnull,--添加非空约束,没有“notnull”默认为:可以beemptyStudentSchoolText(20)FOREIGNKEYREFERENCESSchoolTable(SchoolName),--添加外键约束,格式:FOREIGNKEYREFERENCES关联表名(字段名)StudentAgeintDEFAULT((0)),--添加默认值约束StudentSexnvarchar(2)CHECK(StudentSex=N'male'orStudentSex=N'female')--添加检查约束,格式:check(条件表达式))--如果建表后添加约束,格式为:--主键:变量表名addconstraintPK_fieldname--“PK”是主键的缩写,fieldname是要创建的字段名主键,'PK_wordSegmentName'是主键约束的名称(fieldname)——fieldname与以上--唯一约束:变量表名addconstraintUQ_unique字段名(字段名)--外键约束:变量表名addconstraintFK_name--"FK"外键外键(字段名)的缩写指关联表名(关联字段)name)-注意变量表引用'的表名称相关'和'相关字段名'AaddconstraintFK_BFforeignkey(ticket_no)引用表B(ticket_no)变量AaddconstraintFK_CForeignkey(person_no)引用表C(person_no)结果表变量addconstraintFK_StudentNoforeignkey(StudentNo)referencesStudent(StudentNo)学生降级表DECADETACADE隐藏,记分板所有学生成绩将被删除。
--检查约束:变量表名addconstraintCK_检查字段名(条件表达式)--条件表达式中的条件与关系运算符挂钩--默认值约束:变量表名addconstraintDF_字段名default'默认值'为字段名--'默认值'是您想要默认约束的值:变量表名dropconstraint约束名-约束名是你之前创建的约束的名称,如:字段PK_-注意:如果建表时就创建了约束,则不用命令删除-只能参考资料可以可以在“企业管理器”中找到:http://www.studyofnet.com/news/92.html希望以上回答可以帮助到您。

sql怎么设置外键(sql怎么设置外键约束)

sqlserver中建立外键约束有3种方式:在enterprisemanager、tables、designtable中,设置表属性,可以建立约束,referencekey在enterprisemanager、diagrams、newdiagrams中,建立两个表之间的关系;直接使用transactsql语句。

1.所有这三种方法都必须首先创建一个数据表。

1)创建表author:

createtable[dbo].[author](

[id][h3int]notnull,[authorname][char](10)null,[address][char](480)null,[introction][ntext]null

)

2)创建表mybbs:

reatetable[dbo].[mybbs](

[id][h3int]entityid(1,1)notnull,[authorid][h3int]notnull,[标题][char](40)null,[创建日期][日期时间]null,[摘要][char](480)空,[内容][ntext]空

)

2.将mybbs表中的authorid设置为外键,引用author表的id字段,直接使用transactsql语句。
流程如下:

1)添加mybbs表的fk_mybbs_author外键约束(authorid),mybbs表中的authorid受author表中的主键id约束:

开始事务

altertabledbo.mybbsaddconstraintfk_mybbs_author

foreignkey(authorid)

referencedbo.author([id])onupdatecascadeondeletecascade

2)删除外键约束fk_mybbs_author:

--altertabledbo.mybbsdropconstraintfk_mybbs_author

--rollback

committransaction

updatecascade和onupdatecascade两个选项上面的ondeletecascade表示以后author表的id字段有删除或者更新操作时,mybbs表中的id也会被删除或者级联更新。
如果未选中,则无法更新或删除author表中与mybbs表关联的ID。

扩展信息:

SQL中主键和外键的作用:

1.插入非空值时,如果该值在主键表中不存在,则无法插入。

2.在更新过程中,不能将其更改为主键表中不存在的值。

3.删除主键表记录时,可以选择外键记录一起级联删除,也可以在创建外键时拒绝删除。

4.更新主键记录时,还有级联更新和拒绝执行的选项。

简而言之,SQL的主键和外键起到了约束的作用。

热门文章
1
Python代码实现:如何判断三角形的三... python三角形三条边长,判断能否构成三角形Python三角形的三个长边如下:...

2
高效掌握:CMD命令轻松启动、关闭及登录... 如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...

3
SQL字段默认值设置全攻略:轻松实现自动... sql如何设置字段默认值设置SQL中某个字段的默认值;需要遵循几个步骤。首先您需...

4
MySQL查询加速秘籍:PolarDB ... mysql中in大量数据导致查询速度慢怎么优化?在MySQL中处理大量数据时,查...

5
SQL2000数据库备份压缩技巧:优化空... 怎么将SQL2000中的较大的备份数据库压缩变小更改数据库属性-选项-恢复模型很...

6
SQL字符串处理技巧:单引号使用与转义标... SQL语句中,字符串类型的值均使用什么符号标明?单引号如果字符串内有单引号,请小...

7
Windows环境下Redis安装指南与... redis安装windowsredis基本简介与安装安装Redis首先需要获取安...

8
深度解析:Redis性能优势与局限性,助... redis有哪些优缺点?Redis的全称是RemoteDictionary.Se...

9
深入解析:MySQL数据库的特性与应用 mysql是什么MySQL是一个关系数据库管理系统。MySQL是一个开源关系数据...

10
SQL必备:详解常用字符串函数及数据类型... sql常用的字符串函数都有哪些常用的字符串函数有:1.字符转换功能1.ASCII...