SQL Server 数据表创建指南:主键、外键、约束和自动编号

本指南将演示如何在 SQL Server 中创建数据表,并设置主键、外键、唯一约束、默认值约束、检查约束以及使用自动编号的标识列。

我们将创建以下五个数据表来存储个人信息:

  1. personal_info: 存储基本信息,如姓名、性别、出生日期等。2. id_info: 存储身份证号码。3. phone_info: 存储电话号码。4. email_info: 存储电子邮件地址。5. gender_info: 存储性别信息。

1. 创建个人信息表 (personal_info)sqlCREATE TABLE personal_info ( 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));

代码说明:

  • id INT IDENTITY(1,1) PRIMARY KEY: 创建名为 'id' 的列作为主键,数据类型为 INT,使用自动编号功能,从 1 开始递增。* name VARCHAR(50): 创建名为 'name' 的列,数据类型为 VARCHAR,最大长度为 50 个字符。* 其他列的创建方式类似,根据实际需求设置数据类型和长度。

2. 创建身份证信息表 (id_info)sqlCREATE TABLE id_info ( id INT IDENTITY(1,1) PRIMARY KEY, personal_id INT FOREIGN KEY REFERENCES personal_info(id), id_number VARCHAR(20) UNIQUE);

代码说明:

  • personal_id INT FOREIGN KEY REFERENCES personal_info(id): 创建名为 'personal_id' 的列作为外键,关联到 personal_info 表的 'id' 列。* id_number VARCHAR(20) UNIQUE: 创建名为 'id_number' 的列,数据类型为 VARCHAR,最大长度为 20 个字符,并设置唯一约束,确保每个身份证号码都是唯一的。

3. 创建电话信息表 (phone_info)sqlCREATE TABLE phone_info ( id INT IDENTITY(1,1) PRIMARY KEY, personal_id INT FOREIGN KEY REFERENCES personal_info(id), phone VARCHAR(20) UNIQUE);

代码说明:

  • id_info 表类似,使用外键关联 personal_info 表,并对 'phone' 列设置唯一约束。

4. 创建邮箱信息表 (email_info)sqlCREATE TABLE email_info ( id INT IDENTITY(1,1) PRIMARY KEY, personal_id INT FOREIGN KEY REFERENCES personal_info(id), email VARCHAR(50) UNIQUE);

代码说明:

  • id_info 表类似,使用外键关联 personal_info 表,并对 'email' 列设置唯一约束。

5. 创建性别信息表 (gender_info)sqlCREATE TABLE gender_info ( id INT IDENTITY(1,1) PRIMARY KEY, personal_id INT FOREIGN KEY REFERENCES personal_info(id), gender VARCHAR(10) CHECK (gender IN ('男', '女')));

代码说明:

  • gender VARCHAR(10) CHECK (gender IN ('男', '女')): 创建名为 'gender' 的列,数据类型为 VARCHAR,最大长度为 10 个字符,并设置检查约束,确保性别值只能为 '男' 或 '女'。

总结

本指南介绍了在 SQL Server 中创建数据表的基本方法,包括设置主键、外键、唯一约束、检查约束以及使用自动编号的标识列。你可以根据自己的实际需求修改和扩展这些示例,创建更复杂的数据库结构。

SQL Server 数据表创建指南:主键、外键、约束和自动编号

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

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