在Oracle数据库中,有五种主要的约束类型,它们用于确保数据的完整性和准确性,这些约束可以在创建表时定义,也可以在表创建后添加,以下是这五种约束类型的详细说明:
1. NOT NULL
NOT NULL约束确保某列不能接受NULL值,如果在尝试插入或更新NULL值时,将引发错误。
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int );
在这个例子中,ID和LastName字段不能接受NULL值。
2. UNIQUE
UNIQUE约束确保某列的每行都具有唯一的值,如果尝试插入重复的值,将引发错误。
CREATE TABLE Persons ( ID int UNIQUE, LastName varchar(255), FirstName varchar(255), Age int );
在这个例子中,ID字段的值必须是唯一的。
3. PRIMARY KEY
PRIMARY KEY约束是一种特殊的NOT NULL和UNIQUE约束,它确保某列(或两列的组合)的值是唯一的,且不能接受NULL值,一个表只能有一个主键。
CREATE TABLE Persons ( ID int PRIMARY KEY, LastName varchar(255), FirstName varchar(255), Age int );
在这个例子中,ID字段是主键,它的值必须是唯一的,且不能接受NULL值。
4. FOREIGN KEY
FOREIGN KEY约束用于防止在一个表中存在另一个表中没有的值,外键可以是单个列,也可以是多个列的组合。
CREATE TABLE Orders ( OrderID int PRIMARY KEY, PersonID int, FOREIGN KEY (PersonID) REFERENCES Persons(ID) );
在这个例子中,Orders表中的PersonID字段是一个外键,它引用了Persons表的ID字段,这意味着,你不能在Orders表中插入一个在Persons表中不存在的PersonID。
5. CHECK
CHECK约束用于限制列中的值的范围,如果尝试插入或更新不在指定范围内的值,将引发错误。
CREATE TABLE Persons ( ID int PRIMARY KEY, LastName varchar(255), FirstName varchar(255), Age int CHECK (Age > 18) );
在这个例子中,Age字段的值必须大于18。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。