亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

SQL PRIMARY KEY 約束- 唯一標識表中記錄的關鍵約束

SQL NOT NULL 约束

SQL NOT NULL 约束用于强制确保列不接受 NULL 值。这意味着该字段始终包含一个值,而不允许插入新记录或更新记录时不提供此字段的值。

在 CREATE TABLE 时使用 SQL NOT 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
);

在 ALTER TABLE 时使用 SQL NOT NULL

要在已创建的 “Persons” 表上的 “Age” 列上创建 NOT NULL 约束,使用以下 SQL:

对于 SQL Server / MS Access:

ALTER TABLE Persons
ALTER COLUMN Age int NOT NULL;

对于 MySQL / Oracle(10G 之前的版本):

ALTER TABLE Persons
MODIFY COLUMN Age int NOT NULL;

对于 Oracle 10G 及更高版本:

ALTER TABLE Persons
MODIFY Age int NOT NULL;

通过这些 SQL 语句,您可以确保指定列不会包含 NULL 值,从而增强数据的完整性。

SQL UNIQUE 约束

SQL UNIQUE 约束确保列中的所有值都是不同的。UNIQUEPRIMARY KEY 约束都为列或一组列提供了唯一性的保证。PRIMARY KEY 约束自动具有 UNIQUE 约束。每个表只能有一个 PRIMARY KEY 约束,但可以有多个 UNIQUE 约束。

在 CREATE TABLE 时使用 SQL UNIQUE 约束

以下 SQL 在创建 “Persons” 表时在 “ID” 列上创建了一个 UNIQUE 约束:

对于 SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL UNIQUE,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

对于 MySQL:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    UNIQUE (ID)
);

要为 UNIQUE 约束命名,并在多列上定义 UNIQUE 约束,请使用以下 SQL 语法:

对于 MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CONSTRAINT UC_Person UNIQUE (ID, LastName)
);

在 ALTER TABLE 时使用 SQL UNIQUE 约束

要在表已经创建的情况下在 “ID” 列上创建 UNIQUE 约束,请使用以下 SQL:

对于 MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (ID);

要为 UNIQUE 约束命名,并在多列上定义 UNIQUE 约束,请使用以下 SQL 语法:

对于 MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID, LastName);

删除 UNIQUE 约束

要删除 UNIQUE 约束,请使用以下 SQL:

对于 MySQL:

ALTER TABLE Persons
DROP INDEX UC_Person;

对于 SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT UC_Person;

通过这些 SQL 语句,您可以在数据库中定义和管理 UNIQUE 约束,以确保列中的数据唯一性。

SQL PRIMARY KEY 约束

SQL PRIMARY KEY 约束唯一标识表中的每条记录。主键必须包含唯一的值,并且不能包含 NULL 值。一个表只能有一个主键;在表中,这个主键可以由单个列(字段)或多个列(字段)组成。

在 CREATE TABLE 时使用 SQL PRIMARY KEY

以下 SQL 在创建 “Persons” 表时在 “ID” 列上创建了一个 PRIMARY KEY

对于 MySQL:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (ID)
);

对于 SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

要允许对主键约束进行命名,并定义在多列上的主键约束,请使用以下 SQL 语法:

对于 MySQL / SQL Server / Oracle / MS Access:

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 KEYPK_Person)。然而,主键的值由两个列(ID + LastName)组成。

在 ALTER TABLE 时使用 SQL PRIMARY KEY

要在表已经创建的情况下在 “ID” 列上创建主键约束,请使用以下 SQL:

对于 MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (ID);

要允许对主键约束进行命名,并定义在多列上的主键约束,请使用以下 SQL 语法:

对于 MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID, LastName);

注意: 如果使用 ALTER TABLE 添加主键,则主键列必须在创建表时声明为不包含 NULL 值。

删除 PRIMARY KEY 约束

要删除主键约束,请使用以下 SQL:

对于 MySQL:

ALTER TABLE Persons
DROP PRIMARY KEY;

对于 SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT PK_Person;

通过这些 SQL 语句,您可以在数据库中定义和管理 PRIMARY KEY 约束,以确保表中的数据具有唯一的标识。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消