SQL入门:数据库表主键与外键约束添加教程
创始人
2024-12-26 14:18:59
0 次浏览
0 评论
在sql中对数据库现有的三个表添加适当的主键约束及外键约束,如何完成,请大家帮帮忙,谢谢
可以参altertable添加主键ALTERTABLEtablenameADDCONSTRAINTPK_tablePRIMARYKEYCLUSTERED(column1,column2)添加外键ALTERTABLEtablenameADDCONSTRAINTFK_tableFOREIGNKEY(column1)REFERENCEStable2(pkcolumn);
sql用命令创建主键与外键。
SQL中创建主键和外键约束的方法:--创建表时可以给字段添加约束:createtableStudent(StudentNointPRIMARYKEYIDENTITY(1,1),--添加主键约束和标识列属性(两者构成一个实体))Honest)StudentNamenvarchar(15)notnull,--添加非空约束。不带'notnull'的默认为:可以为空StudentSchooltext(20)FOREIGNKEYREFERENCESSchoolTable(SchoolName),--添加外键约束,格式:FOREIGNKEYREFERENCES关联表名(字段名)StudentAgeintDEFAULT((0)),--添加默认值约束StudentSexnvarchar(2)CHECK(StudentSex=N'male'orStudentSex=N'female')--添加检查约束。
格式:check(条件表达式))--如果建表后添加约束,格式为:--主键:可修改的表名addconstraintPK_字段名--“PK”是主键的缩写,字段名为创建主键的字段名,'PK_字“段名”为约束名primarykey(字段名)--字段名同上--唯一约束:可修改表名addconstraintUQ_字段名unique(字段名)--外键约束:可修改的表名addconstraintFK_fieldname---"FK"外键缩写是与外键(字段名)关联的表名(关联字段名)浏览。
请注意“关联表名称”和“关联字段名称”。
可更改表AaddconstraintFK_Bforeignkey(ticket_no)reference■表B(ticket_no)可更改表AaddconstraintFK_Cforeignkey(person_no)references表C(person_no)altertable分数表addconstraintFK_StudentNoforeignkey(StudentNo)referencesStudent(StudentNo)ONUPDATECASCADEONDELETECASCADE级联更新、级联删除。
这样,如果主表Student被删除,则成绩表中所有学生的成绩都会被删除。
--检查约束:可修改的表名addconstraintCK_field名称检查(条件表达式)--条件表达式中的条件通过关系运算符连接--默认值约束:可修改的表名addconstraintDF_fieldname字段名称checkDefault'默认值'--'默认值Value'是您要设置为默认值的值。
注意“for”——删除和创建。
约束:可修改的表名dropconstraint约束名称-约束名称是之前创建的约束名称。
示例:PK_字段-注意:如果创建表时创建了约束,则无法用命令删除-只能参考“企业管理器”:http://www.studyofnet.com/news/92.htmlI希望以上回答对您有所帮助。
Sql中设置约束
如果没有主键,则设置stuNo为主键。不要设置“身份”列。
如果是带主键,则设置唯一约束,然后设置ALTERTABLEstuInfoADDCONSTRAINTCK_stuNoCHECK(stuNoLike's253%')检查约束。
唯一键或约束以确保不重复,检查约束以确保它是s253格式*主键或唯一键可与鼠标一起使用
如何用sql语句将某列设为主键
首先执行:tablemutablename列名1intnotnull然后执行:tablemutablenameconstrainsPK_primary主键(列名1)仅当表列中的“列名1”不存在null值时才执行第一条语句。例如:altertabletesttabaltercolumntestidintnotnullaltertabletesttabaddconstraintPrimaryKeyprimarykey(testid)
相关文章

SQL技巧:精确计算年龄,从出生日期到S...
2025-01-17 21:08:51
MySQL去重技巧:轻松去除重复字段,提...
2024-12-18 18:00:16
SQLServer字符串截取与拼接技巧:...
2025-02-26 12:40:13
MySQL日期存储选择:DateTime...
2024-12-23 16:28:23
MySQL七大致命约束解析:全面掌握数据...
2024-12-28 18:02:08
C语言中字符空格检测方法解析
2024-12-26 21:37:55
Redis内存满解决攻略:掌握8大数据删...
2024-12-31 20:40:14
SQL Server数据库连接故障排查与...
2025-03-26 05:44:32
MySQL数据库表结构导出全攻略
2024-12-17 23:10:01
MyBatis三表联查SQL语句实战解析
2024-12-30 17:56:09最新文章
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
热门文章
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中某个字段的默认值;需要遵循几个步骤。首先您需...