Oracle 12中新增表的建立方法(oracle12新建表)

Oracle 12中新增表的建立方法

在Oracle 12中,新增了一些表的建立方法,这些方法可以更加方便快捷地创建表格,同时也提供了更多的功能。

一、使用CREATE TABLE语句创建表

CREATE TABLE语句是最基本的创建表格的方法,可以通过指定列名、数据类型和约束等来创建表。示例如下:

CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT
);

这个语句创建了一个名为student的表格,其中包含三列,分别为id、name、age。其中id是主键,name不能为空,age可以为空。

二、使用LIKE语句创建表

如果已经存在一个表格,需要创建一个类似的表格,可以使用LIKE语句来创建。示例如下:

CREATE TABLE student_copy
LIKE student;

这个语句创建了一个名为student_copy的表格,与student表格具有相同的列和约束。

三、使用EXTERNAL TABLE语句创建外部表格

Oracle 12中新增了EXTERNAL TABLE语句,可以使用它来创建外部表格。外部表格与普通表格的区别在于,外部表格数据存储在外部系统中,例如文件系统或者HDFS等。示例如下:

CREATE TABLE student_external (
id INT,
name VARCHAR(50),
age INT
)
ORGANIZATION EXTERNAL (
TYPE oracle_loader
DEFAULT DIRECTORY data_dir
ACCESS PARAMETERS (
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL
(
id,
name,
age
)
)
LOCATION ('students.csv')
);

这个语句创建了一个名为student_external的外部表格,与普通表格类似,包含三列。但是数据存储在一个名为students.csv的文件中,通过oracle_loader类型的接口进行读取。读取时,数据通过逗号分隔,缺失值用NULL表示。

四、使用表格分区功能创建分区表

Oracle 12中新增的表格分区功能可以让表格按照一定的规则进行分区。分区可以让数据处理更加高效,也可以方便地进行数据维护。示例如下:

CREATE TABLE sales (
sale_id NUMBER(10),
sale_date DATE,
sale_amount NUMBER(6),
product_id NUMBER(10),
sales_rep_id NUMBER(6),
CONSTRNT sale_pk PRIMARY KEY (sale_id)
)
PARTITION BY RANGE(sale_date) (
PARTITION sale_2016 VALUES LESS THAN (TO_DATE('2017-01-01', 'YYYY-MM-DD')),
PARTITION sale_2017 VALUES LESS THAN (TO_DATE('2018-01-01', 'YYYY-MM-DD')),
PARTITION sale_2018 VALUES LESS THAN (TO_DATE('2019-01-01', 'YYYY-MM-DD')),
PARTITION sale_max VALUES LESS THAN (MAXVALUE)
);

这个语句创建了一个名为sales的表格,其中按照sale_date字段进行分区,分为sale_2016、sale_2017、sale_2018和sale_max四个分区。其中sale_max分区是用来存储日期大于等于2019年的数据。在这个表格中,主键是sale_id。

以上是Oracle 12中新增的一些表的建立方法,这些方法可以根据实际需求来灵活选择。同时,这些方法也向我们展示了Oracle数据库的强大功能和灵活性,为我们实现高效数据处理提供了更多的可能。


数据运维技术 » Oracle 12中新增表的建立方法(oracle12新建表)