sqlsever定义表和数据完整性约束
时间: 2024-10-12 21:11:35 浏览: 36
SQL Server 定义表是在数据库中创建一个逻辑结构,用于存储数据的一种方式。它通常包含列(字段),每个列代表特定的数据类型,并有相应的名字。创建表的基本语法如下:
```sql
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...,
constraint_name constraint_type (column_name)
);
```
例如,你可以创建一个名为`Employees`的员工表,其中包含`ID`, `Name`, `Position`等列。
数据完整性约束是为了保证数据的质量和一致性。SQL Server支持多种类型的约束:
1. **主键约束**(PRIMARY KEY):用于唯一标识一行数据,不允许有重复值也不允许为NULL。
2. **唯一约束**(UNIQUE):允许表中的某列或一组列组合存在唯一的值,但可以有一个NULL值。
3. **外键约束**(FOREIGN KEY):确保引用其他表中的数据,维护关联表之间的引用完整性和参照完整性。
4. **检查约束**(CHECK):应用一个条件,只有当该条件满足时,记录才允许插入或更新。
5. **默认约束**(DEFAULT):为列提供一个预设的默认值,如果插入时不指定,则使用这个默认值。
在创建表时添加约束,如:
```sql
CREATE TABLE Employees (
ID INT PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
Position VARCHAR(50),
DepartmentID INT FOREIGN KEY REFERENCES Departments(DepartmentID)
);
```
在这个例子中,`DepartmentID`列的外键约束确保它只接受存在于`Departments`表中存在的部门ID。
阅读全文