Oracle中创建一张新表(oracle中创建一张表)
在Oracle数据库中,创建新表是常见的操作之一。新表的建立可以依据需求,定义表的列和属性,为业务数据提供基础支持。本文主要介绍在Oracle中如何创建一张新表。
1. 创建新表的语法
在Oracle数据库中,用CREATE TABLE语句来创建新表。CREATE TABLE的语法如下:
CREATE TABLE table_name (
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
…
columnN datatype [ NULL | NOT NULL ]
);
其中,table_name为新表的名称;columnN为表的列名,datatype定义了相应列的数据类型。NULL和NOT NULL表示该列能否为NULL。例如,下面是创建一个新表Employee的语句:
CREATE TABLE Employee (
employee_id INT NOT NULL,
first_name VARCHAR2(20),
last_name VARCHAR2(20),
eml VARCHAR2(50),
hire_date DATE,
salary NUMBER(8,2),
manager_id INT
);
以上语句创建了一张名为Employee的新表,表包含七个列:employee_id、first_name、last_name、eml、hire_date、salary和manager_id。
2. 创建表时定义主键
在创建新表时,可以定义主键。主键是唯一标识一个表中某一列的值的列或列的集合。主键列无法有重复的值或NULL值。在Oracle数据库中,使用PRIMARY KEY关键字定义主键。例如,下面是一个创建有主键的新表的例子:
CREATE TABLE department (
department_id INT PRIMARY KEY,
department_name VARCHAR2(50) NOT NULL,
manager_id INT
);
以上语句创建了名为department的新表,包含三个列:department_id、department_name和manager_id。其中,department_id列被定义为主键,该列的值不能重复。
3. 创建表时定义外键
在Oracle数据库中,外键是用于建立两个表之间关联的标识。外键用于定义两个表之间的联系,确保数据的完整性和一致性。在Oracle数据库中,可以在CREATE TABLE语句中使用FOREIGN KEY关键字来定义外键。例如,下面是一个创建有外键的新表的例子:
CREATE TABLE emp_dept (
employee_id INT NOT NULL PRIMARY KEY,
department_id INT NOT NULL,
FOREIGN KEY (department_id) REFERENCES department(department_id)
);
以上语句创建了一个名为emp_dept的新表,其中employee_id被定义为主键,department_id被定义为外键,并参照了department表的主键department_id。这样就实现了emp_dept和department表之间的关联。
4. 创建表时添加约束
在Oracle数据库中,可以使用约束来保证表的数据完整性和一致性。约束可以设置在表级别或列级别。在创建新表时,可以使用CONSTRNT关键字定义约束。例如,下面是一个创建有约束的新表的例子:
CREATE TABLE course (
course_id INT PRIMARY KEY,
course_name VARCHAR2(50) NOT NULL,
course_type VARCHAR2(10) CONSTRNT ct_check CHECK (course_type IN (‘preparatory’, ‘basic’, ‘advanced’)),
instructor VARCHAR2(50),
quota INT CONSTRNT quota_check CHECK (quota BETWEEN 1 AND 100),
start_date DATE NOT NULL,
end_date DATE NOT NULL CONSTRNT end_date_check CHECK (end_date>=start_date),
department_id INT,
CONSTRNT fk_dept FOREIGN KEY (department_id) REFERENCES department(department_id)
);
以上语句创建了一个名为course的新表,其中course_id被定义为主键,course_type被定义为CHECK约束,quota被定义为BETWEEN约束,end_date被定义为CHECK约束,department_id被定义为外键,并参照了department表的主键department_id。
总结:
在Oracle数据库中创建新表可以使用CREATE TABLE语句,可以定义表的列和属性、主键、外键和约束。上述示例资料,可用于参照查询,了解Oracle数据库表的创建细节。