SQL Server创建数据表及约束详解:主键、外键、唯一约束等
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 著作权归作者所有。请勿转载和采集!