SQL约束详解:主键、唯一、外键等
1星 需积分: 5 125 浏览量
更新于2024-07-31
收藏 75KB DOC 举报
"这篇文档主要介绍了SQL中的六种约束语句,包括创建约束、检查约束、主键约束、惟一性约束、外部键约束和默认约束以及空值约束,这些都是确保数据库完整性和数据准确性的关键机制。"
在SQL中,约束是一种规则,用于限制表中的数据类型和值,以维护数据的准确性和一致性。以下是每种约束类型的详细说明:
1. 创建约束:这是定义所有类型约束的基础,可以为特定列或整个表设置约束。约束名是可选的,如果未指定,系统会自动生成。
2. 检查约束 (CHECK constraint):允许设置条件,确保插入或更新的数据满足指定的逻辑表达式。例如,你可以设定一个年龄列的最小值和最大值,确保输入的年龄在合理的范围内。
示例:
```sql
CREATE TABLE 我的会员
(
会员编号 smallint NOT NULL CONSTRAINT MemberNoChk CHECK (会员编号 > 0)
)
```
3. 主键约束 (PRIMARY KEY constraint):主键是表中的一个或一组列,其值必须是唯一的,并且不允许为空。主键用于标识表中的每一行,并且可以用于与其他表建立关联。
示例:
```sql
CREATE TABLE Customers
(
CustomerID int PRIMARY KEY,
Name varchar(50)
)
```
4. 惟一性约束 (UNIQUE constraint):与主键类似,惟一性约束确保列中的每个值都是唯一的,但不强制非空。这可以用于那些不需要作为主键但仍然需要唯一性的列。
示例:
```sql
ALTER TABLE Customers
ADD UNIQUE (Email)
```
5. 外部键约束 (FOREIGN KEY constraint):外部键约束用于关联两个表,确保引用的值存在于被引用表的主键或唯一键中。这有助于维护数据的一致性,防止出现“孤儿”记录。
示例:
```sql
CREATE TABLE Orders
(
OrderID int PRIMARY KEY,
CustomerID int,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
)
```
6. 默认约束 (DEFAULT constraint):允许为列设置默认值,当插入新记录时,如果未提供该列的值,系统将自动使用默认值。
示例:
```sql
CREATE TABLE Employees
(
EmployeeID int PRIMARY KEY,
HireDate datetime DEFAULT GETDATE()
)
```
7. 空值约束 (NULL | NOT NULL constraint):定义列是否允许包含NULL值。NOT NULL约束要求列中的每个值都必须存在,不允许为空。
示例:
```sql
CREATE TABLE Products
(
ProductID int PRIMARY KEY,
ProductName varchar(50) NOT NULL
)
```
这些约束在SQL中扮演着至关重要的角色,它们确保了数据的准确性和完整性,防止了无效或不合法的数据输入,从而维护了数据库的健康状态。在设计数据库时,正确地应用这些约束是确保数据质量的关键步骤。
2018-03-31 上传
2020-09-09 上传
点击了解资源详情
2024-10-14 上传
2010-04-26 上传
2020-12-14 上传
2011-07-20 上传
Dhui69
- 粉丝: 0
- 资源: 10
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录