SQL教程(高级篇)(7)

2019-08-03 10:39

空的 \表类似这样:

Id_P LastName FirstName Address City 可使用 INSERT INTO 语句向空表写入数据。

SQL 约束 (Constraints)

? ?

SQL 约束

约束用于限制加入表的数据的类型。

可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。

我们将主要探讨以下几种约束:

? NOT NULL ? UNIQUE ? PRIMARY KEY ? FOREIGN KEY ? CHECK ? DEFAULT

注释:在下面的章节,我们会详细讲解每一种约束。

SQL NOT NULL 约束

? ?

SQL NOT NULL 约束

NOT NULL 约束强制列不接受 NULL 值。

NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新纪录或者更新记录。

下面的 SQL 语句强制 \列和 \列不接受 NULL 值:

CREATE TABLE Persons (

Id_P int NOT NULL,

LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )

SQL UNIQUE 约束

? ?

SQL UNIQUE 约束

UNIQUE 约束唯一标识数据库表中的每条记录。

UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。 PRIMARY KEY 拥有自动定义的 UNIQUE 约束。

请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。

SQL UNIQUE Constraint on CREATE TABLE

下面的 SQL 在 \表创建时在 \列创建 UNIQUE 约束:

MySQL:

CREATE TABLE Persons (

Id_P int NOT NULL,

LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255),

UNIQUE (Id_P)

)

SQL Server / Oracle / MS Access: CREATE TABLE Persons (

Id_P int NOT NULL UNIQUE, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )

如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access: CREATE TABLE Persons (

Id_P int NOT NULL,

LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255),

CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

)

SQL UNIQUE Constraint on ALTER TABLE

当表已被创建时,如需在 \列创建 UNIQUE 约束,请使用下列 SQL:

MySQL / SQL Server / Oracle / MS Access: ALTER TABLE Persons

ADD UNIQUE (P_Id)

如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access: ALTER TABLE Persons

ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

撤销 UNIQUE 约束

如需撤销 UNIQUE 约束,请使用下面的 SQL:

MySQL:

ALTER TABLE Persons

DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access: ALTER TABLE Persons

DROP CONSTRAINT uc_PersonID

SQL PRIMARY KEY 约束

? ?

SQL PRIMARY KEY 约束

PRIMARY KEY 约束唯一标识数据库表中的每条记录。

主键必须包含唯一的值。

主键列不能包含 NULL 值。

每个表应该都一个主键,并且每个表只能有一个主键。

SQL PRIMARY KEY Constraint on CREATE TABLE

下面的 SQL 在 \表创建时在 \列创建 PRIMARY KEY 约束:

MySQL:

CREATE TABLE Persons (

Id_P int NOT NULL,

LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255),

PRIMARY KEY (Id_P)

)

SQL Server / Oracle / MS Access: CREATE TABLE Persons (

Id_P int NOT NULL PRIMARY KEY, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )

如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access: CREATE TABLE Persons (

Id_P int NOT NULL,

LastName varchar(255) NOT NULL, FirstName varchar(255),


SQL教程(高级篇)(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:量本利分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: