SQL NOT NULL
约束用于强制确保列不接受 NULL 值。这意味着该字段始终包含一个值,而不允许插入新记录或更新记录时不提供此字段的值。
以下 SQL 确保在创建 “Persons” 表时,“ID”、“LastName” 和 “FirstName” 列将不接受 NULL 值:
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255) NOT NULL, Age int );
要在已创建的 “Persons” 表上的 “Age” 列上创建 NOT NULL
约束,使用以下 SQL:
ALTER TABLE Persons ALTER COLUMN Age int NOT NULL;
ALTER TABLE Persons MODIFY COLUMN Age int NOT NULL;
ALTER TABLE Persons MODIFY Age int NOT NULL;
通过这些 SQL 语句,您可以确保指定列不会包含 NULL 值,从而增强数据的完整性。
SQL UNIQUE
约束确保列中的所有值都是不同的。UNIQUE
和 PRIMARY KEY
约束都为列或一组列提供了唯一性的保证。PRIMARY KEY
约束自动具有 UNIQUE
约束。每个表只能有一个 PRIMARY KEY
约束,但可以有多个 UNIQUE
约束。
以下 SQL 在创建 “Persons” 表时在 “ID” 列上创建了一个 UNIQUE
约束:
CREATE TABLE Persons ( ID int NOT NULL UNIQUE, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int );
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, UNIQUE (ID) );
要为 UNIQUE
约束命名,并在多列上定义 UNIQUE
约束,请使用以下 SQL 语法:
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, CONSTRAINT UC_Person UNIQUE (ID, LastName) );
要在表已经创建的情况下在 “ID” 列上创建 UNIQUE
约束,请使用以下 SQL:
ALTER TABLE Persons ADD UNIQUE (ID);
要为 UNIQUE
约束命名,并在多列上定义 UNIQUE
约束,请使用以下 SQL 语法:
ALTER TABLE Persons ADD CONSTRAINT UC_Person UNIQUE (ID, LastName);
要删除 UNIQUE
约束,请使用以下 SQL:
ALTER TABLE Persons DROP INDEX UC_Person;
ALTER TABLE Persons DROP CONSTRAINT UC_Person;
通过这些 SQL 语句,您可以在数据库中定义和管理 UNIQUE
约束,以确保列中的数据唯一性。
SQL PRIMARY KEY
约束唯一标识表中的每条记录。主键必须包含唯一的值,并且不能包含 NULL 值。一个表只能有一个主键;在表中,这个主键可以由单个列(字段)或多个列(字段)组成。
以下 SQL 在创建 “Persons” 表时在 “ID” 列上创建了一个 PRIMARY KEY
:
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, PRIMARY KEY (ID) );
CREATE TABLE Persons ( ID int NOT NULL PRIMARY KEY, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int );
要允许对主键约束进行命名,并定义在多列上的主键约束,请使用以下 SQL 语法:
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, CONSTRAINT PK_Person PRIMARY KEY (ID, LastName) );
注意: 在上面的示例中只有一个 PRIMARY KEY
(PK_Person
)。然而,主键的值由两个列(ID + LastName)组成。
要在表已经创建的情况下在 “ID” 列上创建主键约束,请使用以下 SQL:
ALTER TABLE Persons ADD PRIMARY KEY (ID);
要允许对主键约束进行命名,并定义在多列上的主键约束,请使用以下 SQL 语法:
ALTER TABLE Persons ADD CONSTRAINT PK_Person PRIMARY KEY (ID, LastName);
注意: 如果使用 ALTER TABLE
添加主键,则主键列必须在创建表时声明为不包含 NULL 值。
要删除主键约束,请使用以下 SQL:
ALTER TABLE Persons DROP PRIMARY KEY;
ALTER TABLE Persons DROP CONSTRAINT PK_Person;
通过这些 SQL 语句,您可以在数据库中定义和管理 PRIMARY KEY
约束,以确保表中的数据具有唯一的标识。