sql server 约束怎么用
时间: 2024-09-13 21:03:04 浏览: 49
SQL Server 中的约束是用来确保数据库表格中的数据满足特定规则的机制,有助于维护数据质量和一致性。以下是几种常见的 SQL Server 约束及其用法:
1. **NOT NULL 约束**:
- 当前字段不允许包含 `NULL` 值。例如:
```sql
CREATE TABLE Employees (
ID INT PRIMARY KEY,
Name NVARCHAR(50) NOT NULL
);
```
这里,Name 字段不能为空。
2. **PRIMARY KEY 约束**:
- 用于唯一标识一列或多列,列值必须是唯一的,并且不能为 `NULL`。例如:
```sql
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY,
ContactName NVARCHAR(50)
);
```
CustomerID 是主键,每个客户的ID都是独一无二的。
3. **FOREIGN KEY 约束**:
- 引入外部表作为参考,确保关联数据的存在。例如:
```sql
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerID INT,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
```
这里,Orders 表引用 Customers 表的 CustomerID,确保订单客户存在。
4. ** UNIQUE 约束**:
- 限制一列或一组列的值必须是唯一的,允许 `NULL` 值。例如:
```sql
CREATE TABLE Addresses (
AddressID INT PRIMARY KEY,
City NVARCHAR(50) UNIQUE
);
```
每个城市地址是唯一的。
5. **CHECK 约束**:
- 设置条件,验证数据是否满足某个表达式。例如:
```sql
CREATE TABLE Grades (
Grade INT CHECK (Grade BETWEEN 1 AND 100)
);
```
确保成绩在1到100之间。
6. **DEFAULT 约束**:
- 定义默认值,如果列没有提供值,则使用该默认值。例如:
```sql
CREATE TABLE Employees (
Salary DECIMAL(18,2) DEFAULT 0.00,
HireDate DATE DEFAULT GETDATE()
);
```
使用约束时,可以确保数据的质量和完整性,减少错误,提高数据可靠性。
阅读全文