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
OpenWrt Docker环境下部署多... n1刷openwrt上面的DOCKER有什么用独立的程序和结构。Docker将应...

2
Redisson分布式锁深度解析:Red... Redis实现分布式锁+Redisson源码解析在某些场景下,多个进程需要以互斥...

3
Java程序员简历IT技能描述指南:精准... Java程序员简历IT技能怎么写Java程序员简历中的技能描述应该具体、有针对性...

4
Redis分布式锁事故复盘:揭秘超卖背后... 一次由Redis分布式锁造成的重大事故,避免以后踩坑!使用基于Redis的分布式...

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

6
C语言科学计数法1.25e+3详解:12... C语言中的1.25e+3表示多少呢?在C-语言中,1 .2 5 E+3 是一个真...

7
K8S网络核心:CNI0与Docker0... 浅谈k8s中cni0和docker0的关系和区别CNI0 DOI被替换在K8 S...

8
Docker容器重启技巧:实现持续运行与... Docker 重启服务,容器全部退出的解决dockerrun -srestart...

9
Docker网络模式深度解析:五大模式详... Docker 的网络模型新桥梁:容器中容器中容器中的容器中有六个网络。容器通常连...

10
C语言实现三数比较:求最大值和最小值教程 c语言编程:输入三个数,输出他们的最小值,要求定义一个函数,反悔两个数的最小值#...