SQL> --行地址
SQL> select rowid,empno,ename from emp;
ROWID EMPNO ENAME
------------------ ---------- ----------
AAANIwAAEAAAAAeAAA 7369 SMITH --行地址,相当于指针
AAANIwAAEAAAAAeAAB 7499 ALLEN
AAANIwAAEAAAAAeAAC 7521 WARD
AAANIwAAEAAAAAeAAD 7566 JONES
AAANIwAAEAAAAAeAAE 7654 MARTIN
AAANIwAAEAAAAAeAAF 7698 BLAKE
AAANIwAAEAAAAAeAAG 7782 CLARK
已选择14行。
SQL> --保存20号部门的员工
SQL> create table emp20
2 as
3 select * from emp where deptno=20;
表已创建。
SQL> select * from emp20;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ----- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7788 SCOTT ANALYST 7566 13-7月 -87 3000 20
7876 ADAMS CLERK 7788 13-7月 -87 1100 20
7902 FORD ANALYST 7566 03-12月-81 3000 20
已选择5行。
--创建成视图,只需要将table改成view
SQL> --创建表: 员工号 姓名 月薪 年薪 部门名称
SQL> create table empinfo
2 as
3 select e.empno,e.ename,e.sal,e.sal*12 annlsal,d.dname
4 from emp e,dept d
5 where e.deptno=d.deptno;
表已创建。
SQL> select * from empinfo;
EMPNO ENAME SAL ANNLSAL DNAME
---------- ---------- ----- ---------- --------------
7369 SMITH 800 9600 RESEARCH
7499 ALLEN 1600 19200 SALES
已选择14行。
----**********修改表***********-----------
SQL> --修改表: 追加新列 修改列 删除列 重名列
SQL> desc test1
名称 是否为空? 类型
----------------------------------------------------------------- -------- --------------------------------------------
TID NUMBER
TNAME VARCHAR2(20)
HIREDATE DATE
SQL> alter table test1 add image blob;
SQL> alter table test1 modify tname varchar2(40);
SQL> alter table test1 drop column image;
SQL> alter table test1 rename column tname to username;
SQL> -- 删除表
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
TEST1 TABLE
EMP20 TABLE
EMPINFO TABLE
已选择10行。
SQL> drop table test1;
表已删除。
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
BIN$UKc1E0vyQ0C1ZcDR8cUI4w==$0 TABLE
EMP20 TABLE
EMPINFO TABLE
已选择10行。
SQL> --Oracle的回收站
SQL> show recyclebin
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
TEST1 BIN$UKc1E0vyQ0C1ZcDR8cUI4w==$0 TABLE 2013-06-20:15:23:20
SQL> purge recyclebin;
回收站已清空。
SQL> show recyclebin
SQL> --drop table test1 purge; --> 不经过回收站直接删除,相当于window的shift+del
SQL> select * from TESTSAVEPOINT;
TID TNAME
---------- --------------------
1 Tom
2 Mary
已选择2行。
SQL> drop table TESTSAVEPOINT;
表已删除。
SQL> show recyclebin
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
TESTSAVEPOINT BIN$b9zRUzdaQfuXXqNhykffVA==$0 TABLE 2013-06-20:15:26:10
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
BIN$b9zRUzdaQfuXXqNhykffVA==$0 TABLE
EMP20 TABLE
EMPINFO TABLE
已选择9行。
--***********要访问垃圾箱中的表,要带上引号
SQL> select * from "BIN$b9zRUzdaQfuXXqNhykffVA==$0";
TID TNAME
---------- --------------------
1 Tom
2 Mary
已选择2行。
SQL> --注意: 管理员没有回收站
SQL> --检查性约束
--创建一个带有约束名字的表
SQL> create table myperson
2 (pid varchar2(18) constraint myperson_PK primary key,
3 pname varchar2(40) constraint myperson_Name_notnull not null,
4 gender varchar2(4) constraint myperson_Gender check (gender in ('男','女')),
5 email varchar2(40) constraint myperson_Email_unique unique
6 constraint myperson_Email_notnull not null,
7 deptno number constraint myperson_FK references dept(deptno) ON DELETE CASCADE
8 );
--7、 on delete set null
表已创建。
SQL> spool off
Oracle备忘录(九) -- 视图
最新推荐文章于 2019-08-08 10:18:01 发布