SQL外键设置详解:创建与约束实例教程

创始人
2024-12-31 13:01:32
0 次浏览
0 评论

sql创建外键语句

1创建主测试表(类表test_class),

createtabletest_class(class_idnumber,class_namevarchar2(20));

2创建测试subtable(学生表test_sStudent),

createtabletest_student(stu_idnumber,stu_namevarchar2(200),class_idnumber);

3添加主表(test_class类表)特有的主键,

altertableTEST_CLASS

addconstraintpk_class_idprimarykey(CLASS_ID);

4.子表(学生表test_student)创建外键,

altertableTEST_STUDENT

addconstraintfk_class_idforeignkey(CLASS_ID)

referencestest_class(CLASS_ID);

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

在SQLServer中有三种方式创建外键约束:在EnterpriseManager、Tables、Designtable、设置表属性中,可以在EnterpriseManager、Schemas、NewCharts中创建约束、引用键、创建两个表之间的关系;直接使用Transactsql语句。

1.所有这三种方法都需要先创建一个电子表格。

1)创建表author:

createtable[dbo].[author](

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

)

2)创建表格mybbs:

reatetable[dbo].[mybbs](

[id][h3int]idEntity(1,1)不为空,[authorid][h3int]不为空空,[标题][字符](40)空,[创建日期][日期时间]空,[摘要][字符](480)空,[内容][ntext]空

)

2.将表mybbs中的作者ID设置为外键,查看author表中的ID字段,直接使用transactsql语句,过程如下:

1)添加外键约束fk_mybbs_author到表mybbs(authorid),表mybbs中的author被限制为表author中的主键ID:

begintransaction

altertabledbo.mybbsaddconstraintfk_mybbs_author

外键(authorid)

Referencesdbo.author([id])onupdatecascadeondeletecascade

2)删除外键条目fk_mybbs_author:

--altertabledbo.mybbsdropconstraintfk_mybbs_author

--rollback

Committransaction

上面的onupdatecascade和ondeletecascade选项表示当ID字段包含在author表中,以后进行删除或更新操作时,mybbs表中的ID也会相继被删除或更新。
如果未指定,将无法更新或删除与mybbs表关联的author表中的ID。

扩展信息:

SQL中主键和外键的作用:

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

2.更新时,不能更改为主键表中不存在的值。

3.删除主键国家记录时,可以指定顺序一起删除外键记录,也可以在创建外键时拒绝删除。

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

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

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

1.用例子让大家更容易理解。
这可能意味着对表1中字段的约束是通过引用表2中的字段来完成的。
如何:

2.这里有两个表。
由于外键可以在主键之前引用,因此首先创建外键表。
首先创建一个数据库并创建一个新查询。

3.新建外键表[Teacher],输入命令createtableTeacher。
添加必填字段Teacher_xingming并将其设置为主键。
输入命令:Teacher_xingmingnchar(10)primarykey,

4.选择需要运行的命令行,点击运行,会看到下面的成功提示。
出现。
刷新表后可以看到新表【老师】已经成功创建。

5.下一步是创建学生表createtablestudent(student_xingmingnchar(10)primarykeynotnull)。
该程序段创建[student]表并创建一个新表。
表中的表主键[student_xingming字段,类型为nchar(10),不能为空]

6.继续写入student_banjinchar(10)notnull回车-在表中创建一个新的student_banji字段。
类型为nchar(10),不能为空]

<。
创建外键,使用命令student_jiaoshinchar(10)foreignkeyreferencesTeacher(teac)回车。
her_xingming)看起来很长,但其含义其实很简单。
在表中新建【student_jiaoshi字段】。
这是一个外键,类型为nchar(10),从Teacher_xingming的内容中获取。

8.如果没有错误,请刷新表并检查Student是否存在。
>

9.让我们看看上面的功能是否真的有效。
打开老师桌,刘老师进来。
显没有问题。

10.如果你想测试约束是否真的有效,请输入一些其他内容,看看是否成功。
如果这不是Teacher字段的内容,就会报错。

热门文章
1
Python字符串大小写转换方法汇总与示... python如何定义函数将小写转换为大写1.全部转换为大写:upper()用法:...

2
Java基础面试题:NIO、AIO与IO... 「2022最新版」Java基础面试题总结(60道题含答案解析)“一个强大的元编程...

3
深入解析JavaScript:Windo... javascript中的最高层是window吗?下面包扣哪些对象?给个层次结构图...

4
JavaScript中字符串与数值相加技... SQL如何让字符串与数值相加你好,这样写:rtrim()删除尾随空格,ltrim...

5
Python 3.11.0安装指南:Wi... Python3.11.0下载安装并使用help查看模块信息(Win11)访问Py...

6
C语言基础要点梳理:必背知识及经典程序解... c语言基础知识必背有哪些?C语言基础知识包括:1.命名C语言。2.变量和赋值。3...

7
SQL行列转换技巧解析:优化数据处理与分... 如何进行sql行转列,列转行整合?在编写大数据SQL时,列转换是一种旨在优化数据...

8
Java AJAX查询实现教程:前端后端... java中ajax怎样实现查询在Java中使用AJAX执行查询功能通常需要前端J...

9
揭秘前端:HTML、CSS、JavaSc... 前端包括什么前端主要由三个组件组成:HTML、CSS和JavaScript。1....

10
Python while循环详解:条件控... pythonwhile循环用法使用Pythonwhile循环:与if语句类似,w...