oracle中关于天赋定义及使用6种约束(oracle 6种约束)

Oracle 中关于天赋定义及使用 6 种约束

在 Oracle 数据库中,天赋定义是创建表时指定的一些约束条件,用于保证表的数据完整性和一致性。包括主键约束、唯一约束、非空约束、外键约束、检查约束和默认约束。本文将介绍这些约束的定义和使用方法。

1. 主键约束

主键是一列或一组列,其值必须唯一且不为空,用于唯一标识表中的每一行数据。在创建表时,可以通过 PRIMARY KEY 关键字指定主键约束。

例如,创建一个名为 students 的表,其中包含学生 ID、姓名和年龄三列,其中学生 ID 是主键:

CREATE TABLE students (

student_id NUMBER(10) PRIMARY KEY,

name VARCHAR2(50),

age NUMBER(3)

);

在表中插入数据时,如果插入的数据中存在重复的主键值,将会出现主键冲突的错误。

2. 唯一约束

唯一约束要求列中的值是唯一的,但可以包含空值。在创建表时,可以通过 UNIQUE 关键字指定唯一约束。

例如,创建一个名为 employees 的表,其中包含员工 ID、姓名和邮箱三列,其中邮箱必须是唯一的:

CREATE TABLE employees (

employee_id NUMBER(10),

name VARCHAR2(50),

eml VARCHAR2(50) UNIQUE

);

在表中插入数据时,如果插入的数据中存在与已有数据重复的唯一值,将会出现唯一约束冲突的错误。

3. 非空约束

非空约束指定列中的值不能为空,即必须包含有效的数据。在创建表时,可以通过 NOT NULL 关键字指定非空约束。

例如,创建一个名为 books 的表,其中包含书名、作者和价格三列,其中书名和作者不能为空:

CREATE TABLE books (

title VARCHAR2(100) NOT NULL,

author VARCHAR2(50) NOT NULL,

price NUMBER(10,2)

);

在表中插入数据时,如果插入的数据中有任意一个非空列是空值,将会出现非空约束冲突的错误。

4. 外键约束

外键约束用于定义两个表之间的关系,其中一个表的列引用了另一个表的主键。在创建表时,可以通过 FOREIGN KEY 关键字指定外键约束。

例如,创建一个名为 orders 的表,其中包含订单 ID、顾客 ID 和订单金额三列,其中顾客 ID 是 customers 表中的主键:

CREATE TABLE orders (

order_id NUMBER(10),

customer_id NUMBER(10) FOREIGN KEY REFERENCES customers(customer_id),

amount NUMBER(10,2)

);

在表中插入数据时,如果插入的数据中的顾客 ID 在 customers 表中不存在,将会出现外键约束冲突的错误。

5. 检查约束

检查约束用于限制列中的值必须符合一定的条件。在创建表时,可以通过 CHECK 关键字指定检查约束。

例如,创建一个名为 products 的表,其中包含产品 ID、产品名称和产品数量三列,其中产品数量必须大于等于 0:

CREATE TABLE products (

product_id NUMBER(10),

product_name VARCHAR2(100),

quantity NUMBER(10),

CONSTRNT quantity_check CHECK (quantity >= 0)

);

在表中插入数据时,如果插入的数据中的产品数量小于 0,将会出现检查约束冲突的错误。

6. 默认约束

默认约束指定列的默认值,当插入数据时如果该列没有指定值,将使用默认值。在创建表时,可以通过 DEFAULT 关键字指定默认约束。

例如,创建一个名为 customers 的表,其中包含客户 ID、客户名称和注册日期三列,其中注册日期默认为当前日期:

CREATE TABLE customers (

customer_id NUMBER(10),

customer_name VARCHAR2(100),

registration_date DATE DEFAULT sysdate

);

在插入数据时,如果未指定注册日期,则将使用默认值。


数据运维技术 » oracle中关于天赋定义及使用6种约束(oracle 6种约束)