SQL入门:如何正确创建外键约束与主键约束

创始人
2024-12-28 12:04:05
0 次浏览
0 评论

sql中怎样创建外键约束

在SQL中,创建外键约束是为了确保数据的一致性和完整性。
要实现这个操作,首先必须使用ALTERTABLE语句addconstraintname外键约束名称,这里外键约束名称(如Fk_s)必须是唯一的,不能使用数值(如1、2、3)作为一个标识符。
例如,如果要向Stu_PkFk_Sc表添加外键约束,可以使用以下命令:altertableStu_PkFk_ScaddconstraintFk_foreignkey(sno)referencesStu_PkFk_S(sno)其中Fk_s是约束列名,sno是表中的列名,sno。
参考表A.sno列,保证数据一致性。
外键约束的名称(如cc)必须明确指定,格式为:addconstraintccforeignkey(id)referencesA(id)如果引用表A的id列,可以省略,但建议显式声明它在文档或代码注释中。

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

SQL中创建主键和外键约束的方法:-可以在创建表时添加字段约束:createtableStudent(StudentNointPRIMARYKEYIDENTITY(1,1),--添加主键约束,以及标识列属性(构成两个实体))诚实)studentNamenvarchar(15)notnull,--添加非空约束,不带“notnull”默认为:可以为空StudentSchooltext(20)FOREIGNKEYREFERENCESschoolTable(SchoolName),--添加外键约束,格式:FOREIGNKEYREFERENCE相关表名(字段名)StudentAgeintDEFAULT((0)),--添加默认值约束studentSexnvarchar(2)CHECK(StudentSex=N'mail'orStudentSex=n'female')--添加检查约束,格式:check(条件表达式))--如果创建了表之后添加约束时,格式为:--PRIMARYKEY:可更改表的名称addconstraintPK_字段名--“PK”是主键的简写形式,字段名是要创建主键的字段名,'PK_块名'约束名称为主键(字段名称)-字段名称同上-唯一约束:可变表名addconstraintUQ_字段名称为唯一(字段名称)-外键约束:可变表名称addconstraintFK_fieldname--"FK"外键foreignkey(字段名)的缩写指关联表名(关联字段名)-注意‘关联表名’和‘关联字段名’变量表addconstraintFK_Bforeignkey(ticket_no)引用表B(ticket_number)altertableAddconstraintFK_Cforeignkey(person_no)参考表C(person_number)alterableScore表addconstraintFK_StudentNoforeignkey(StudentNo)referencesStudent(StudentNo)ONUPDATESCASCADEONDELETECASCADECASCADEUPDATE、CASCADEDELETE,这样当主表Student删除时,Score表中所有学生的部分成绩都会被删除。
--check约束:变量表名addconstraintCK_字段名称检查(条件表达式)-条件表达式中的条件与关系运算符组合-默认值约束:变量表名称addconstraintDF_field名称字段名称的默认值'默认值'-'默认值'是您设置为默认值。
想要做。
注意删除“for”并创建约束:mutabletablenamedropconstraint约束名称-约束名称是您之前创建的约束名称,例如:PK_field-注意:如果在创建表时创建了约束,则无法使用命令删除它-只能在“企业管理器”中删除参考资料:http://www.studyofnet.com/news/92.html希望以上回答可以帮助到您。
热门文章
1
高效掌握:CMD命令轻松启动、关闭及登录... 如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...

2
MySQL分区删除技巧与8.0版本新特性... mysql删除分区在MySQL中,删除分区操作主要使用“可替代”的命令与“ dr...

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

4
深度解析:MySQL查询语句执行顺序及优... mysql查询语句执行顺序当这是由于执行SQL的过程时,了解其过程很重要。 ...

5
SQL教程:使用SUBSTRING和IN... sql取特定字符的前面几位字符selectsubstr('L-0FCLDRBCT...

6
MySQL日期差异计算方法:轻松获取日期... MySQL计算时间差两日期相减得月份mysql两时间相减得月MySQL计算时间之...

7
MySQL及SQL查询获取前10条数据方... MySql查询前10条数据sql语句是从MySQL获取前1 0个数据的SQL查询...

8
MySQL启动问题排查与解决指南 Mysql为什么启动不了如果要配置MySQL,则遇到无法启动的问题,可能是由于配...

9
DbVisualizer添加MySQL数... 如何在DbVisualizer中添加本地mysql数据库由于DbVisualiz...

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