-
创建表:create table 新表名 (字段名1 字段1类型,字段名2 字段2类型)
-
创建备份表+数据:create table 新表名 as select *或字段名 from 表 [where 条件]
-
创建备份表仅表结构: create table 新表名 as select *或字段名 from 表 where 1=2 (注:添加where 1=2,返回为false,因为没有符合的数据所以为空表)
create
创建表:
语法: create table 表名 (字段名1 字段1类型,字段名2 字段2类型)
范例,创建表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | --创建表:字段名+数据类型及长度
SQL> create table test ( id number(4),name varchar2(20),age number(3),start_date date );
--查看创建的test表数据
SQL> select * from test;
ID NAME AGE START_DATE
----- -------------------- ---- -----------
--查看表结构
SQL> desc test;
Name Type Nullable Default Comments
---------- ------------ -------- ------- --------
ID NUMBER(4) Y
NAME VARCHAR2(20) Y
AGE NUMBER(3) Y
START_DATE DATE Y
|
创建备份表+数据:
语法: create table 表名 as select ...
注:若select中字段使用了别名,那新表将使用别名做为新表的字段名!!!
注:备份表多了个 as
范例,创建一个备份表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 | --通过select查询完整表,创建表
SQL> create table emp4 as select * from emp;
Table created
--通过select查询部分字段,创建表
SQL> create table emp5 as select ename,job,sal from emp;
Table created
--通过select查询部分字段且具备where条件,创建表
SQL> create table emp6 as select ename,job,sal from emp where sal >= 3000;
Table created
--使用别名创建新表
SQL> create table emp8 as select ename "name",job,sal "sals" from emp;
Table created
SQL> select * from emp8;
name job sals
---------- --------- ---------
CLARK 3200.00
CLARK MANAGER 3800.00
|
创建备份表仅表结构:
语法:
注:若select中字段使用了别名,那新表将使用别名做为新表的字段名!!!
注:添加where 1=2,当where返回的是个false时,就没有符合的数据,所以创建了一个表结构后,没有符合的条件数据,就仅仅复制了一个表结构!!!
注:当然你也可以写任意一个不等式0=1或者1=3等等。。。但如果写了一个等式0=0或1=1时将复制数据!!!
| SQL> create table emp9 as select * from emp where 1=0;
Table created
SQL> select * from emp9;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 | SQL> create table emp8 as select ename "name",job "jobs",sal "sals" from emp;
Table created
SQL> select * from emp8;
name jobs sals
---------- --------- ---------
CLARK
CLARK 3200.00
CLARK MANAGER 3800.00
SMITH CLERK 1200.00
ALLEN SALESMAN 1900.00
ALLEN SALESMAN 2000.00
FORD ANALYST 3500.00
FORD ANALYST 3900.00
MILLER 1500.00
MILLER 1600.00
SMITH CLERK 1500.00
clark manager 2100.00
clark manager 2100.00
SMITH CLERK 800.00
|