关于sql中constraint 前缀的用意(PK、UK、DF、CK、FK)

本文深入探讨了SQL中的五种主要约束类型:主键(PK)、唯一键(UK)、默认值(DF)、检查约束(CK)和外键(FK)。主键用于确保表中记录的唯一性,唯一键允许有空值但限制字段的唯一性。默认约束定义字段的默认填充值。检查约束则用于限制字段的取值范围。最后,外键约束建立表间的关系,确保数据的一致性和完整性。了解这些约束对于数据库设计至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

### SQLCONSTRAINT 的用法 在 SQL 数据库中,`CONSTRAINT` 是用于定义表列上的规则的关键字。这些约束可以应用于单个列或多列组合上,以确保数据的完整性和一致性。 #### 主键约束 (Primary Key Constraint) 主键约束唯一标识数据库表中的每一行记录。它不允许 NULL 值,并且每个表只能有一个主键[^1]。 ```sql CREATE TABLE Users ( UserID int NOT NULL, Username varchar(255) NOT NULL, Password varchar(255), PRIMARY KEY (UserID) ); ``` #### 外键约束 (Foreign Key Constraint) 外键约束建立并强制两个表之间的链接关系。这有助于维护参照完整性,防止非法的数据操作,如删除被其他表引用的记录或插入不存在于父表中的子表记录[^2]。 ```sql CREATE TABLE Orders ( OrderID int NOT NULL, OrderNumber int NOT NULL, UserID int, PRIMARY KEY (OrderID), FOREIGN KEY (UserID) REFERENCES Users(UserID) ); ``` #### 唯一性约束 (Unique Constraint) 唯一性约束确保某列或多列组合中的所有值都是唯一的,从而避免重复条目。此约束允许存在一个 NULL 值,但如果有多于一个,则违反了唯一性的原则。 ```sql ALTER TABLE Users ADD UNIQUE (Username); ``` #### 检查约束 (Check Constraint) 检查约束用来限制某一列可接受的值范围。当尝试向该字段插入不符合条件的新值时会抛出错误。 ```sql CREATE TABLE Products ( ProductID int NOT NULL, ProductName varchar(255) NOT NULL, Price decimal NOT NULL CHECK (Price >= 0), PRIMARY KEY (ProductID) ); ``` #### 默认值约束 (Default Constraint) 默认值约束设置某个特定列如果没有指定输入值的情况下自动采用的一个固定值或表达式的计算结果。 ```sql CREATE TABLE Customers ( CustomerID int NOT NULL AUTO_INCREMENT, FirstName varchar(255), LastName varchar(255), Email varchar(255), RegistrationDate datetime DEFAULT CURRENT_TIMESTAMP(), PRIMARY KEY (CustomerID) ); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值