一、SQL Server主键约束。
-
主键约束操作基本语句。
CREATE TABLE table_name ( pk_column data_type PRIMARY KEY, ... );
-
主键是唯一标识表中每一行的列或一组列。可以使用 PRIMARY KEY 约束为表创建主键。
-
如果主键只包含一列,则可以将 PRIMARY KEY 约束定义为列约束:主键必须包含唯一的值。主键列不能包含 NULL 值。每个表都应该有一个主键,并且每个表只能有一个主键。
-
如果是在新建表的时候添加主键约束比较简单,直接在列名后加入primary key即可,标准的添加主键约束的SQL脚本如下:
二、SQL Server外键约束。
-
vendor_groups 和v endor 表,它们的结构如下:
CREATE TABLE procurement.vendor_groups ( group_id INT IDENTITY PRIMARY KEY, group_name VARCHAR (100) NOT NULL ); CREATE TABLE procurement.vendors ( vendor_id INT IDENTITY PRIMARY KEY, vendor_name VARCHAR(100) NOT NULL, group_id INT NOT NULL, );
-
FOREIGN KEY约束语法。
CONSTRAINT fk_constraint_name FOREIGN KEY (column_1, column2,...) REFERENCES parent_table_name(column1,column2,..)
-
外键是一个表中的一列或一组列,它唯一地标识另一个表的行。
-
要强制执行 vendor_groups 和 vendors 表中的数据之间的链接,需要在 vendors 表中建立外键。要创建外键,请使用 FOREIGN KEY 约束。
三、SQL Server Not Null约束。
-
以下示例为列创建一个具有 NOT NULL 约束的表:
CREATE SCHEMA hr; GO CREATE TABLE hr.persons( person_id INT IDENTITY PRIMARY KEY, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, phone VARCHAR(20) );
-
persons ,它具有以下几个字段: first_name ,last_name 和 email
-
SQL Server NOT NULL 约束只是指定列不能为 NULL 值。
-
将NOT NULL约束添加到列
UPDATE table_name SET column_name = <new_value> WHERE column_name IS NULL;
四、SQL Server唯一约束。
-
以下语句创建一个表: hr.persons ,其 email 邮件列中的数据在表的行中是唯一的:
CREATE SCHEMA hr; GO CREATE TABLE hr.persons( person_id INT IDENTITY PRIMARY KEY, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, email VARCHAR(255) UNIQUE );
-
SQL Server UNIQUE 约束用于确保存储在列或列组中的数据在表中的行中是唯一的。
-
UNIQUE约束与PRIMARY KEY约束: 尽管 UNIQUE 和 PRIMARY KEY 约束都强制数据的唯一性,但是当要强制实现不是主键列的列或列组的唯一性时,应使用 UNIQUE 约束而不是 PRIMARY KEY 约束。