介绍
在 oracle 数据库中,使用 CREATE TABLE 命令可以创建一个新的表。 CREATE TABLE 命令用于定义新表的结构,其中包括列名、数据类型、大小、约束等相关信息。
语法
CREATE TABLE 命令的基本语法如下:
CREATE TABLE table_name
(
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
...
column_n datatype [ NULL | NOT NULL ]
);
其中,table_name 是表名;column1、column2、...、column_n 是列名;datatype 是列的数据类型。
创建表示例
下面是一个简单的示例,用于创建一个包含三列的例子表:
CREATE TABLE employees
(
employee_id NUMBER(6) PRIMARY KEY,
first_name VARCHAR2(20),
last_name VARCHAR2(25) NOT NULL,
email VARCHAR2(25) NOT NULL,
phone_number VARCHAR2(20),
hire_date DATE NOT NULL,
job_id VARCHAR2(10) NOT NULL,
salary NUMBER(8,2),
commission_pct NUMBER(2,2),
manager_id NUMBER(6),
department_id NUMBER(4)
);
在上面的示例中,employees 是表名,其中包含 11 列。其中, employee_id 是主键,其他列上也定义了许多约束。
列定义
每个表都由一个或多个列组成,每个列都必须有一个唯一的名称。下面是列定义中使用的许多数据类型:
CHAR( ): 定长字符串,其中 () 表示字符串的长度。
VARCHAR2( ): 变长字符串,其中 () 表示字符串的最大长度。
NUMBER( ): 数字,其中 () 表示数字的最大位数。
DATE: 日期和时间。
BLOB: 二进制大对象,用于存储二进制数据。
CLOB: 字符大对象,用于存储大文本值。
BFILE: 存储大型二进制文件中的二进制数据。
添加约束
约束用于限制在表中插入、更新或删除数据时可以应用的规则。下面是可以在表创建时添加的一些常见约束类型:
PRIMARY KEY: 用于唯一标识每个行的一列或一组列。
FOREIGN KEY: 用于创建到另一张表的关系。
UNIQUE: 用于确保每个值都是唯一的。
CHECK: 用于限制列中可以存储的值的范围。
NOT NULL: 用于确保列不包含任何 NULL 值。
下面是一个示例 SQL 语句,用于创建一个包含约束的表:
CREATE TABLE students (
id NUMBER(6) PRIMARY KEY,
first_name VARCHAR2(50) NOT NULL,
last_name VARCHAR2(50) NOT NULL,
email VARCHAR2(100) UNIQUE,
birth_date DATE,
CONSTRAINT chk_valid_birth_date CHECK (birth_date <= SYSDATE),
CONSTRAINT fk_department_id_foreign_key FOREIGN KEY (department_id)
REFERENCES departments(id) ON DELETE CASCADE
);
在上面的示例中,表中的每个列都有一个约束。 id 列是主键列,并且没有满足某些特定条件的确切约束。
总结
使用 CREATE TABLE 命令可以方便地创建一个新表。 通过为每个列指定数据类型和在创建表时添加其他约束,可以确保数据在表中正确地存储和限制。