SQL Server创建数据表及约束详解:主键、外键、唯一约束等

本文将介绍如何在SQL Server中创建数据表,并设置各种约束,包括主键、外键、唯一约束、默认值约束、检查约束和自动编号的标识列。

我们将以创建五个数据表为例,这些数据表分别存储id、姓名、性别、出生日期、身份证号码、电话和电子邮件信息。

1. 创建id表

首先,我们创建一个名为'id'的数据表,用于存储用户的基本信息:sqlCREATE TABLE id ( id INT IDENTITY(1,1) PRIMARY KEY, name VARCHAR(50), gender VARCHAR(10), birthdate DATE, id_number VARCHAR(20), phone VARCHAR(20), email VARCHAR(50));

代码说明:

  • CREATE TABLE id: 创建名为'id'的表。* id INT IDENTITY(1,1) PRIMARY KEY: 创建名为'id'的列,数据类型为INT,并设置其为自增主键,从1开始,每次递增1。* name VARCHAR(50): 创建名为'name'的列,数据类型为VARCHAR,最大长度为50个字符。* gender VARCHAR(10): 创建名为'gender'的列,数据类型为VARCHAR,最大长度为10个字符。* birthdate DATE: 创建名为'birthdate'的列,数据类型为DATE。* id_number VARCHAR(20): 创建名为'id_number'的列,数据类型为VARCHAR,最大长度为20个字符。* phone VARCHAR(20): 创建名为'phone'的列,数据类型为VARCHAR,最大长度为20个字符。* email VARCHAR(50): 创建名为'email'的列,数据类型为VARCHAR,最大长度为50个字符。

2. 创建其他数据表

接下来,我们创建另外四个数据表,并将'id'表中的'id'列作为外键关联到这些表中:sqlCREATE TABLE name ( id INT PRIMARY KEY, first_name VARCHAR(50), last_name VARCHAR(50), CONSTRAINT fk_name_id FOREIGN KEY (id) REFERENCES id(id));

CREATE TABLE gender ( id INT PRIMARY KEY, gender VARCHAR(10) UNIQUE, CONSTRAINT fk_gender_id FOREIGN KEY (id) REFERENCES id(id));

CREATE TABLE birthdate ( id INT PRIMARY KEY, birthdate DATE DEFAULT '1900-01-01', CONSTRAINT fk_birthdate_id FOREIGN KEY (id) REFERENCES id(id), CONSTRAINT chk_birthdate CHECK (birthdate >= '1900-01-01'));

CREATE TABLE id_number ( id INT PRIMARY KEY, id_number VARCHAR(20) UNIQUE, CONSTRAINT fk_id_number_id FOREIGN KEY (id) REFERENCES id(id));

CREATE TABLE phone ( id INT PRIMARY KEY, phone VARCHAR(20) DEFAULT '000-000-0000', CONSTRAINT fk_phone_id FOREIGN KEY (id) REFERENCES id(id));

CREATE TABLE email ( id INT PRIMARY KEY, email VARCHAR(50) DEFAULT 'unknown@unknown.com', CONSTRAINT fk_email_id FOREIGN KEY (id) REFERENCES id(id));

代码说明:

  • 以上代码创建了'name'、'gender'、'birthdate'、'id_number'、'phone'和'email'六个数据表。* 每个表都包含一个'id'列,作为主键,并设置为外键,关联到'id'表的主键。* CONSTRAINT fk_... FOREIGN KEY (id) REFERENCES id(id): 创建外键约束,将当前表的'id'列与'id'表中的'id'列关联起来。* UNIQUE: 定义唯一约束,保证该列的值唯一。* DEFAULT: 定义默认值约束,当插入数据时未指定该列的值时,将使用默认值。* CHECK: 定义检查约束,限制该列中允许插入的值的范围。

总结

本文介绍了在SQL Server中创建数据表并设置各种约束的方法,包括主键、外键、唯一约束、默认值约束、检查约束和自动编号的标识列。通过使用这些约束,可以保证数据的完整性和一致性


原文地址: https://www.cveoy.top/t/topic/fYsZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录