SQL基础教程:主键与外键约束的创建与应用

创始人
2024-12-28 07:06:10
0 次浏览
0 评论

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

SQL中创建主外键约束的方法:--创建表时可以给字段添加约束:createtableStudent(StudentNointPRIMARYKEYIDENTITY(1,1),--添加主键和属性约束identity列(这两个实体构成)完整性)StudentNamenvarchar(15)notnull,--添加非空约束,无“notnull”,默认为:可以为空StudentStudentSchooltext(20)FOREIGNKEYREFERENCESSchoolTable(SchoolName),--添加外键约束,格式:FOREIGNKEYREFERENCES链接表名(字段名)StudentAgeintDEFAULT((0)),--添加默认值约束StudentSexnvarchar(2)CHECK(StudentSex=N'male'orStudentSex=N'女')--添加check约束,格式:check(条件表达式))--如果建表后添加约束,格式为:--主键:可变表名addconstraintPK_字段名--“PK”是主键的缩写,fieldname是要创建主键的字段名称,'PK_wordSegmentName'是主键约束名称(字段名称)--字段名称同上--仅绑定most:可变表名addconstraintUQ_字段名unique(字段名)--外键约束:可变表名addconstraintFK_字段名--"FK"外键外键(字段名)的缩写引用链接表名(链接字段名)--注表可以更改'链接表名称'和'链接字段名称'AaddconstraintFK_Bforignkey(ticket_no)引用表sB(ticket_no)可变表AaddconstraintFK_Cforignkey(person_no)引用表C(person_no)可变分数表addconstraintFK_StudentNoforignkey(StudentNo)referencesStudent(StudentNo)ONUPDATECASCADEONDELETECASCADE级联更新、级联删除,这样当主表Student删除时,表成绩所有学生成绩都将被删除。
--检查约束:表名可以改变addconstraintCK_field检查名(条件表达式)--条件表达式中的条件连接到关系运算符--默认值约束:可变表名addconstraintDF_fielddefaultname'defaultvalue'for字段名--'defaultvalue'是您想要默认的值。
注意“for”——删除和创建。
约束:表名可以更改dropconstraint约束名称-约束名称是你之前创建的约束名称,如:字段PK_-注意:如果创建表时创建了约束,则无法通过命令删除-ch参考资料可以在“业务管理”中删除:http://www.studyofnet.com/news/92.html希望以上回答可以对您有所帮助。

sql如何定义外键?

如何在SQL中编写外键。

以下参考文献:

12(10)、student_namevarchar2(30)、class_idvarchar2(10))

2

创建先前的唯一外键约束

switch-t类

dprimarykey(CLASS_ID);

创建第一个唯一外键结构/创建整数

备用TEST_STUDENT

添加constraintf_class_idforeignkey(CLASS_ID)

eferencestest_class(CLASS_ID)ondeletecascade;

表中3个主键7a686964616fe58685e5aeb931333433623133输入信息。

'section1'));

Insertintotest_classvalues(1003,'class3');

Provide;

4、在外键表中插入数据,但主键表中未定义class_id会出现错误信息

lues(100001,'kingtwo',1004);

5如果外键表中输入了数据并且主键表中定义了class_id,则可以插入。
经常:p>

插入TEST_STUDENTvalues(100001,'kingtwo',1001);

到TEST_STUDENT值insert(100002,'kingtwo',1002);

insertintoTEST_STUDENTValues(100003,'twoKings',1003);

提交;

文章标签:
SQL 外键
热门文章
1
Redisson分布式锁深度解析:Red... Redis实现分布式锁+Redisson源码解析在某些场景下,多个进程需要以互斥...

2
深度解析Docker:容器技术提升应用部... docker是什么Docker是一种强大的开源容器技术,它将应用程序及其所有依赖...

3
C语言实现:如何判断一个整数是否为质数? C语言输入一个整数,判断是否是质数?#include//头文件intmain()...

4
K8s弃用Docker背后的故事及Doc... K8s为什么要弃用Docker?在讨论K8s抛弃Docker的话题时,我们首先需...

5
C语言文本输入输出教程:安全高效处理字符... C语言怎么变成文字?如果你想用C语言输入输出文本,其实很简单。您必须首先定义一个...

6
深入解析Java:面向对象编程特性与实现... Java语言的特点,实现机制和体系结构。中的任何实体都可以被视为一个对象。对象通...

7
三款免费Docker管理工具,提升您的可... 3款免费又好用的Docker可视化管理工具在Docker的世界里,命令行工具无疑...

8
C语言期末编程题解析:完整程序代码分享 C语言期末考试编程代码函数题?按照题目要求编写的完整程序如下(见图,图中重复的部...

9
轻松掌握:Redis键值查看技巧,两种方... 如何读取redis中的key值中的结果我们希望它能帮助您使用它。怎么查看redi...

10
SQL DELETE语句:详解及不同删除... 请问Sql的DELETE语句怎么写delete表示删除表中的数据示例:delet...