Oracle 数据库 表的复制

方式一:复制表结构及表数据

CREATE TABLE table_new AS SELECT * FROM TABLE_old ;

1cf473515a7d916b52f57eba9bf68686.png

fbef53d8d396caec556f859fbac2da8c.png

方式二:只复制表结构

CREATE TABLE table_new AS SELECT * FROM table_old WHERE 1 = 2 ;

[注]: 写 WHERE 1 = 2 是让查询的结果为空,若写成 WHERE 1 = 1 ,则会将 整个表结构及其表数据复制过去

SQL> -- 方式二:只复制表结构

SQL> CREATE TABLE myemp2 AS SELECT * FROM emp WHERE 1 = 2 ;

表已创建。

SQL> -- 查看 myemp2 表结构

SQL> DESC myemp2 ;

名称 是否为空? 类型

----------------------------------------------------------------- -------- -------------

EMPNO NOT NULL NUMBER(4)

ENAME VARCHAR2(10)

JOB VARCHAR2(9)

MGR NUMBER(4)

HIREDATE DATE

SAL NUMBER(7,2)

COMM NUMBER(7,2)

DEPTNO NUMBER(2)

SQL> SELECT * FROM myemp2 ;

未选定行

方式三:只复制表数据

如果两个表结构一样:

INSERT INTO table_new SELECT * FROM table_old ;

如果两个表结构不一样:

INSERT INTO table_new( COLUMN1 , COLUMN2 , COLUMN3 , ... ) SELECT COLUMN1 , COLUMN2 , COLUMN3 , ... FROM table_old ;

677cf021ce099cced785b1d6f3045a37.png

Logo

一站式 AI 云服务平台

更多推荐