(十六)创建和管理表

 

 

SQL> select rowid,empno,deptno from emp;

ROWID                   EMPNO     DEPTNO
------------------ ---------- ----------
AAAR3sAAEAAAACXAAA       7369         20
AAAR3sAAEAAAACXAAB       7499         30
AAAR3sAAEAAAACXAAC       7521         30
AAAR3sAAEAAAACXAAD       7566         20
AAAR3sAAEAAAACXAAE       7654         30
AAAR3sAAEAAAACXAAF       7698         30
AAAR3sAAEAAAACXAAG       7782         10
AAAR3sAAEAAAACXAAH       7788         20
AAAR3sAAEAAAACXAAI       7839         10
AAAR3sAAEAAAACXAAJ       7844         30
AAAR3sAAEAAAACXAAK       7876         20
AAAR3sAAEAAAACXAAL       7900         30
AAAR3sAAEAAAACXAAM       7902         20
AAAR3sAAEAAAACXAAN       7934         10

已选择14行。

 

 

SQL> ed
已写入 file afiedt.buf

  1  create table empincome as
  2  (select e.empno,e.ename,e.sal,e.sal*12 年薪,e.sal*12+nvl(comm,0) 年收入,d.dname from emp e,dept d
  3* where e.deptno=d.deptno)
SQL> /

表已创建。

SQL> select * from empincome;

     EMPNO ENAME             SAL       年薪     年收入 DNAME
---------- ---------- ---------- ---------- ---------- --------------
      7369 SMITH             800       9600       9600 RESEARCH
      7499 ALLEN            1600      19200      19500 SALES
      7521 WARD             1250      15000      15500 SALES
      7566 JONES            2975      35700      35700 RESEARCH
      7654 MARTIN           1250      15000      16400 SALES
      7698 BLAKE            2850      34200      34200 SALES
      7782 CLARK            2450      29400      29400 ACCOUNTING
      7788 SCOTT            3000      36000      36000 RESEARCH
      7839 KING             5000      60000      60000 ACCOUNTING
      7844 TURNER           1500      18000      18000 SALES
      7876 ADAMS            1100      13200      13200 RESEARCH
      7900 JAMES             950      11400      11400 SALES
      7902 FORD             3000      36000      36000 RESEARCH
      7934 MILLER           1300      15600      15600 ACCOUNTING

已选择14行。

SQL> desc empincome;
 名称                                                                          是否为空? 类型
 ----------------------------------------------------------------------------- -------- ----------------------------------------------------
 EMPNO                                                                                  NUMBER(4)
 ENAME                                                                                  VARCHAR2(10)
 SAL                                                                                    NUMBER(7,2)
 年薪                                                                                   NUMBER
 年收入                                                                                 NUMBER
 DNAME                                                                                  VARCHAR2(14)

SQL>

 

 

SQL> alter table empincome add JOB varchar2(20);

表已更改。

SQL> select * from empincome;

     EMPNO ENAME             SAL       年薪     年收入 DNAME          JOB
---------- ---------- ---------- ---------- ---------- -------------- --------------------
      7369 SMITH             800       9600       9600 RESEARCH
      7499 ALLEN            1600      19200      19500 SALES
      7521 WARD             1250      15000      15500 SALES
      7566 JONES            2975      35700      35700 RESEARCH
      7654 MARTIN           1250      15000      16400 SALES
      7698 BLAKE            2850      34200      34200 SALES
      7782 CLARK            2450      29400      29400 ACCOUNTING
      7788 SCOTT            3000      36000      36000 RESEARCH
      7839 KING             5000      60000      60000 ACCOUNTING
      7844 TURNER           1500      18000      18000 SALES
      7876 ADAMS            1100      13200      13200 RESEARCH
      7900 JAMES             950      11400      11400 SALES
      7902 FORD             3000      36000      36000 RESEARCH
      7934 MILLER           1300      15600      15600 ACCOUNTING

已选择14行。

SQL> desc empincome;
 名称                                                                          是否为空? 类型
 ----------------------------------------------------------------------------- -------- ----------------------------------------------------
 EMPNO                                                                                  NUMBER(4)
 ENAME                                                                                  VARCHAR2(10)
 SAL                                                                                    NUMBER(7,2)
 年薪                                                                                   NUMBER
 年收入                                                                                 NUMBER
 DNAME                                                                                  VARCHAR2(14)
 JOB                                                                                    VARCHAR2(20)

SQL> alter table empincome modify job varchar2(40);

表已更改。

SQL> desc empincome;
 名称                                                                          是否为空? 类型
 ----------------------------------------------------------------------------- -------- ----------------------------------------------------
 EMPNO                                                                                  NUMBER(4)
 ENAME                                                                                  VARCHAR2(10)
 SAL                                                                                    NUMBER(7,2)
 年薪                                                                                   NUMBER
 年收入                                                                                 NUMBER
 DNAME                                                                                  VARCHAR2(14)
 JOB                                                                                    VARCHAR2(40)

SQL> alter table empincome drop colunm job;
alter table empincome drop colunm job
                           *1 行出现错误:
ORA-00905: 缺失关键字


SQL> alter table empincome drop column job;

表已更改。

SQL> desc empincome;
 名称                                                                          是否为空? 类型
 ----------------------------------------------------------------------------- -------- ----------------------------------------------------
 EMPNO                                                                                  NUMBER(4)
 ENAME                                                                                  VARCHAR2(10)
 SAL                                                                                    NUMBER(7,2)
 年薪                                                                                   NUMBER
 年收入                                                                                 NUMBER
 DNAME                                                                                  VARCHAR2(14)

SQL> alter table empincome rename column dname to username;

表已更改。

SQL> desc empincome;
 名称                                                                          是否为空? 类型
 ----------------------------------------------------------------------------- -------- ----------------------------------------------------
 EMPNO                                                                                  NUMBER(4)
 ENAME                                                                                  VARCHAR2(10)
 SAL                                                                                    NUMBER(7,2)
 年薪                                                                                   NUMBER
 年收入                                                                                 NUMBER
 USERNAME                                                                               VARCHAR2(14)

SQL>

 

 

SQL> drop table emp10;

表已删除。

SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
BIN$QdtFwotIQY2TnKXqPH7lHw==$0 TABLE
BONUS                          TABLE
DEPT                           TABLE
EMP                            TABLE
EMPINCOME                      TABLE
SALGRADE                       TABLE
TB_DEPT                        TABLE
TESTSP                         TABLE

已选择8行。

SQL>

 

posted @ 2019-04-17 10:09  狂奔~  阅读(240)  评论(0编辑  收藏  举报