数据库教程-Oracle创建表(create table as)

跨零代码为大家提供高品质的解决方案,请大家多多来访,跨零不胜感激,在此谢过。

CREATE TABLE AS语句用于通过复制现有表的列从现有表来创建新表。

语法:

CREATE TABLE new_table   AS (SELECT * FROM old_table); 

创建表示例1:复制另一个表的所有列

在此示例中,我们通过复制现有表Customers中的所有列来创建newcustomers表。

CREATE TABLE newcustomers   AS (SELECT *   FROM customers  WHERE customer_id < 5000); 

新创建的表命名为newcustomers并具有与customers相同的表字段和记录(编号小于5000的所有记录)。

创建表示例2:复制另一个表的选定列

语法:

CREATE TABLE new_table     AS (SELECT column_1, column2, ... column_n         FROM old_table); 

下面来看另一个例子:

CREATE TABLE newcustomers2   AS (SELECT customer_id, customer_name       FROM customers       WHERE customer_id < 5000); 

上面的例子将创建一个名为newcustomers2的新表。 此表包含customers表中指定的两列:customer_idcustomer_name

创建表示例3:从多个表复制选定的列

语法:

CREATE TABLE new_table   AS (SELECT column_1, column2, ... column_n       FROM old_table_1, old_table_2, ... old_table_n); 

下面来看一个例子:假设已经创建了两个表:regularcustomersirregularcustomers

regularcustomers表有三列:rcustomer_idrcustomer_namerc_city

CREATE TABLE  "regularcustomers"       (    "RCUSTOMER_ID" NUMBER(10,0) NOT NULL ENABLE,        "RCUSTOMER_NAME" VARCHAR2(50) NOT NULL ENABLE,        "RC_CITY" VARCHAR2(50)      )   / 

第二个表:irregularcustomers也有三列:ircustomer_idircustomer_nameirc_city

CREATE TABLE  "irregularcustomers"       (    "IRCUSTOMER_ID" NUMBER(10,0) NOT NULL ENABLE,        "IRCUSTOMER_NAME" VARCHAR2(50) NOT NULL ENABLE,        "IRC_CITY" VARCHAR2(50)      )   / 

在下面的示例中,将创建一个表名:newcustomers3,从两个表复制指定列。

示例:

CREATE TABLE newcustomers3     AS (SELECT regularcustomers.rcustomer_id, regularcustomers.rc_city, irregularcustomers.ircustomer_name         FROM regularcustomers, irregularcustomers         WHERE regularcustomers.rcustomer_id = irregularcustomers.ircustomer_id         AND regularcustomers.rcustomer_id < 5000); 

  

从零到一,创造未来!跨零综合IT问题解决服务站,欢迎你的到来。Oracle数据库教程 只为你绽放。

本文固定链接: http://kua0.com/2019/01/18/数据库教程-oracle创建表(create-table-as)/

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注