SQL外键设置详解:创建与约束实例教程
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字段的内容,就会报错。