当前位置:首页 » 编程语言 » 外键约束sql

外键约束sql

发布时间: 2025-03-06 01:07:53

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

创建SQL的主键和外键约束的方法:

--在创建表时就可以对字段加上约束:
create table Student
(
StudentNo int PRIMARY KEY IDENTITY(1,1), --加主键约束,还有标识列属性(两者构成实体完整性)
StudentName nvarchar(15) not null, --加非空约束,不加"not null" 默认为:可以为空
StudentSchool text(20) FOREIGN KEY REFERENCES SchoolTable(SchoolName), --加外键约束,格式:FOREIGN KEY REFERENCES 关联的表名(字段名)
StudentAge int DEFAULT ((0)), --加默认值约束
StudentSex nvarchar(2) CHECK(StudentSex=N'男' or StudentSex=N'女') --加检查约束,格式:check (条件表达式)
)

--如果在表创建好了以后再加约束,则格式分别为:

-- 主键:
alter table 表名
add constraint PK_字段名--"PK"为主键的缩写,字段名为要在其上创建主键的字段名,'PK_字段名'就为约束名
primary key (字段名) --字段名同上

--唯一约束:
alter table 表名
add constraint UQ_字段名
unique (字段名)

--外键约束:
alter table 表名
add constraint FK_字段名--"FK"为外键的缩写
foreign key (字段名) references 关联的表名(关联的字段名) --注意'关联的表名'和'关联的字段名'

alter table 表A add constraint FK_B foreign key (ticket_no) references 表B(ticket_no)
alter table 表A add constraint FK_C foreign key (person_no) references 表C(person_no)

alter table 成绩表 add constraint FK_StudentNo foreign key (StudentNo) references Student (StudentNo)
ON UPDATE CASCADE ON DELETE CASCADE
级联更新,级联删除,这样在删除主表Student时,成绩表中该学生的所有成绩都会删除。

--检查约束:
alter table 表名
add constraint CK_字段名
check (条件表达式) --条件表达式中的条件用关系运算符连接

--默认值约束:
alter table 表名
add constraint DF_字段名
default '默认值' for 字段名--其中的'默认值'为你想要默认的值,注意'for'

--删除创建的约束:
alter table 表名
drop constraint 约束名--约束名为你前面创建的如:PK_字段这样的约束名
--注意:如果约束是在创建表的时候创建的,则不能用命令删除
--只能在'企业管理器'里面删除

参考资料 : http://www.studyofnet.com/news/92.html

希望以上的回答能够帮到你

2. 数据库 SQL 约束之 FOREIGN KEY

今天是日更的 53/365 天

SQL 约束用于规定表中的数据规则,约束可以在创建表时或者在表创建之后规定。其中,SQL FOREIGN KEY 约束用于在表之间建立连接。以两张表为例:学生表(student)和订单表(orders)。在orders表中,P_Id列指向student表中的ID列。学生表中的ID列为主键,订单表中的P_Id列为外键。外键约束防止了破坏表之间连接的行为,同时防止了非法数据插入外键列。具体而言,在创建表时,可以定义单个列或多个列的外键约束。修改表结构时,同样可以添加外键约束。若需要删除外键约束,使用DROP FOREIGN KEY命令即可。关于SQL约束的讲解到此结束,下篇将讲解《数据库 SQL CHECK 约束》。

热点内容
倩女幽魂巧燕脚本 发布:2025-09-24 10:26:28 浏览:65
linux下c的编译 发布:2025-09-24 10:14:39 浏览:943
禁用firefox缓存 发布:2025-09-24 10:10:24 浏览:90
java行读取txt文件 发布:2025-09-24 09:55:01 浏览:697
我的世界电脑版基岩版服务器推荐 发布:2025-09-24 09:51:50 浏览:886
sql创建非聚集索引 发布:2025-09-24 09:51:11 浏览:490
如何开mod服务器 发布:2025-09-24 09:36:47 浏览:485
php并发编程 发布:2025-09-24 09:15:23 浏览:62
25系列编程器 发布:2025-09-24 08:19:23 浏览:280
小米6换机热点密码是多少 发布:2025-09-24 08:08:00 浏览:30