- Oracle数据库是什么?
- Oracle 11g安装教程
- Oracle 12C安装
- Oracle数据库和实例
- 连接到Oracle数据库
- Oracle示例数据库
- 导入Oracle示例数据库
- Oracle基础入门
- Oracle数据定义
- Oracle数据类型
- Oracle修改数据
- Oracle查询数据
- Oracle连接表
- Oracle操作符
- Oracle约束
- Oracle高级部分
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_id
和customer_name
。
创建表示例3:从多个表复制选定的列
语法:
CREATE TABLE new_table AS (SELECT column_1, column2, ... column_n FROM old_table_1, old_table_2, ... old_table_n);
下面来看一个例子:假设已经创建了两个表:regularcustomers
和irregularcustomers
。
regularcustomers
表有三列:rcustomer_id
,rcustomer_name
和rc_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_id
,ircustomer_name
和irc_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);
上一篇:Oracle创建表
下一篇:Oracle修改表结构
扫描二维码
程序员编程王