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数据库的强大功能和灵活性,为我们实现高效数据处理提供了更多的可能。